Skip to main content

Posts

TDA1516BQ 12W x 2 Stereo Amplifier

These days, it is easy to find high-power Class D and Class T audio amplifiers. Compared with classic Class A, B, and AB designs, they are tiny and deliver very high output power. I have built and used many Class D and T amplifiers, but I still prefer the warm, organic, and smooth sound of older Class A, B, and AB topologies. Prototype build of TDA1516BQ amplifier. The problem is that older amplifier chips are getting harder to find. While shopping for electronic components some time ago, I came across the Philips TDA1516BQ . It delivers 12W per channel on a 12V - 14V supply, and the circuit is extremely simple. It turned out to be one of the easiest stereo amplifiers I have built so far. I designed a small PCB for this amplifier (62 mm × 41 mm) and had it fabricated by PCBWay . The design is also shared on PCBWay, so if you are interested, you can order the board directly from there . The Gerber files are available in the release section of repository as well. Top view o...

Flash C - Compiler

Flash C is a small C compiler with a full-screen, text-mode IDE. Both are written from scratch and both run on Linux. The compiler, fcc , reads C source code and writes a native x86-64 Linux executable directly. No assembler, linker or C library is used at any point. The IDE, fc , wraps the same compiler in pull-down menus, overlapping edit windows, an error window , option dialogs , a source-level debugger and hyper-linked online help. Its layout follows the classic Turbo Vision style IDEs. This post shows what is in the project and how it works inside. The Flash C IDE. The whole toolchain lives in one repository: the lexer and preprocessor, the parser and type checker, an optimizer, the x86-64 code generator, an ELF writer, a run-time library written in C, the IDE, a debugger and the help system. Flash C compiles C89 with a few C99 conveniences, such as // comments. C++ is deliberately not supported. Two programs come out of the build. fcc is the command-line compiler. Runn...

Diagnosing and repairing an Audio-Technica AT-LP120-USB motor driver

As an audio enthusiast, Audio-Technica has long been one of my go-to brands for reliable gear. Back in 2016, I bought a brand-new Audio-Technica AT-LP120-USB direct-drive turntable. For nearly eight years, it performed flawlessly. Then came last June. While listening to a record, I noticed a subtle drop in pitch. I adjusted the pitch slider and tried tinkering with the speed controls, but the platter responded erratically. Within a few minutes, the rotation slowed down to a crawl and came to a complete stop. Power cycling the unit did nothing to jumpstart the motor, though all the status LEDs and indicators remained brightly lit. The main logic was alive, but the motor was completely unresponsive. I decided to open it up and see if I could save my turntable. Upon opening the chassis, I was surprised by the internal layout. Rather than a simple single-board design, the LP120 utilizes a complex modular dual-PCB setup: Control board: Handles user inputs, pitch control, speed switc...

Building a Dual V100 AI Workstation for Local LLMs

In today's software development landscape, local Large Language Models (LLMs) offer unprecedented privacy, zero latency, and freedom from subscription fees. While I generally avoid purely " vibe coding " for my projects, having robust inline code completion and chat directly integrated into IDEs speeds up development significantly. However, consumer GPUs with high VRAM often cost enough that paying for cloud inference ends up being the more economical option for most developers. To overcome this, I recently completed constructing a custom, dual-rack compute node specifically designed to host LLMs and compile complex codebases without breaking the bank. Here is the full engineering breakdown of how I designed, assembled, and configured this dual Tesla V100 machine from scratch. Fully assembled rig. The core philosophy behind this build was maximizing compute performance and Tensor VRAM density while strictly controlling costs. Consumer-grade GPUs with large VRAM, su...

Tiny Basic for Arduino

The primary objective of the Tiny Basic for Arduino project is to replicate that nostalgic C64 style programming environment utilizing modern, low-power MCU platforms. Present-day microcontrollers offer significantly higher processing power and memory capacity than the vintage systems of yesteryear, whilst being available at a fraction of the cost. I envisioned an environment where students and hobbyists alike could experience retro-style computing without the need to source rare, expensive vintage hardware, and completely avoiding any assembly or soldering hassles. By simply connecting a standard, off-the-shelf development board to a PC and launching a serial terminal, one can immediately commence coding in BASIC . Arduino Due: The primary development and testing board. To maintain an authentic and lightweight footprint, the interpreter is built upon the original Tiny Basic language grammar. It accurately parses and executes standard Tiny Basic syntax, making it highly famili...

Building the TD4 4-Bit CPU

The TD4 is a famous 4-bit CPU featured in the book How to Build a CPU by Kaoru Tonami . The book focuses on constructing a functional processor entirely from basic 74-series TTL logic ICs. While the book is unfortunately only available in Japanese, a friend from Japan sent me a copy along with a TD4 PCB. I believe the PCB is based on the open-source design files available on BG5DIW's GitHub repository . "How to Build CPU" book and the PCB. Recently, I finally found the time to build and experiment with it. The project took a few months, as I had to translate the book myself to grasp the core concepts. The overall design is simple and elegant, offering a set of 12 instructions and a 16-byte ROM (implemented via DIP switches) for programming. The board operates on 5V and can be powered via USB. Most components were sourced from local shops, though I had to order a few 74HC-series ICs online. Later, I tested the circuit by replacing some 74HC components with 74LS series...

TDA2005 as a DC-to-DC Converter

The TDA2005 is a very popular audio amplifier chip that many of us have used for years in car stereos and home DIY amplifiers. While it is mainly built to amplify AF signals, its internal design is actually strong enough to be used for other interesting projects like this DC-to-DC converter. By using the two amplifier channels inside the chip to create a high-frequency signal, we can turn the IC into a power driver that works with a rectifier circuit. Prototype version of TDA2005 DC-to-DC converter. The way this circuit works is quite simple. The TDA2005 stages ( U1A and U1B ) are set up to produce a high-frequency AC signal. This signal goes through 2200µF coupling capacitors and then into a full-bridge rectifier made of 1N5822 Schottky diodes. I chose these specific diodes because they have a very low voltage drop, which helps keep the efficiency high. To keep the TDA2005 stable while it drives this kind of load, I included 1Ω resistors and 0.1µF capacitors as stability network...