An animated GIF of Engineer Bo's Precision Bluetooth Scroll Wheel wirelessly, and effortlessly scrolling down the Hack A Day blog with a single finger

Doomscroll Precisely, And Wirelessly

Around here, we love it when someone identifies a need and creates their own solution. In this case, [Engineer Bo] was tired of endless and imprecise scrolling with a mouse wheel. No off-the-shelf solutions were found, and other DIY projects either just used hacked mice scroll wheels, customer electronics with low-res hardware encoders, or featured high-res encoders that were down-sampled to low-resolution. A custom build was clearly required.

A photo of a 3D printed yellow plastic form with red marker drawn on the top of the support material and used in Engineer Bo's Precision Bluetooth Scroll Wheel

We loved seeing hacks along the whole process by [Engineer Bo], working with components on hand, pairing sensors to microcontrollers to HID settings, 3D printing forms to test ergonomics, and finishing the prototype device. When 3D printing, [Engineer Bo] inserted a pause after support material to allow drawing a layer of permanent marker ink that acts as a release agent that can later be cleaned with rubbing alcohol. 

We also liked the detail of a single hole inside used to install each of the three screws that secure the knob to the base. While a chisel and UV-curing resin cleaned up some larger issues with the print, more finishing was required. For a project within a project, [Engineer Bo] then threw together a mini lathe with 3D printed and RC parts to make sanding easy.

Scroll down with your clunky device to see the video that illustrates the precision with a graphic of a 0.09° rotation and is filled with hacky nuggets. See how the electronics were selected and the circuit designed and programmed, the use of PCBWay’s CNC machining in addition to board assembly services, and how to deal with bearings that spin too freely. [Engineer Bo] teases that a future version might use a larger bearing for less wobble and an anti-slip coating on the base. Will the board files and 3D models be released, too? Will these be sold as finished products or kits? Will those unused LED drivers be utilized in an upcoming version? We can’t wait to see what’s next for this project.

Continue reading “Doomscroll Precisely, And Wirelessly”

Magic Eye Images In Your Spreadsheet

Ah, the 1990s. It was a simpler time, when the web was going to be democratic and decentralised, you could connect your Windows 95 PC to the internet without worrying much about it being compromised, and freely download those rave music MP3s. Perhaps you had a Global Hypercolor T-shirt and spent a summer looking like the sweaty idiot you were, and it’s certain you desperately squinted at a magic eye image in a newspaper (remember newspapers?) trying to see the elephant or whatever it was. If you’d like to relive that experience, then [Dave Richeson] has a magic eye image generator for Microsoft Excel.

Unfortunately a proportion of the population including your scribe lack the ability to see these images, a seemingly noise-like pattern of dots on the page computationally generated to fool the visual processing portion of your brain to generate a 3D image. The Excel sheet allows you to create the images, but perhaps most interesting is the explanation of the phenomenon and mathematics which go along with it. Along with a set of test images depicting mathematical subjects, it’s definitely worth a look.

You can download a template and follow the instructions, and from very limited testing here we can see that LibreOffice doesn’t turn its nose up at it, either. Give it a go, and learn afresh the annoyance of trying to unfocus your eyes.

Sniffing Around Inside A ThinkPad Battery

For most people, a battery pack that’s misbehaving simply means it’s time to get a new battery. But when the battery in their ThinkPad wasn’t able to muster up more than 20 minutes of runtime, [Shrinath Nimare] saw an opportunity to dig deeper and do a bit of investigating.

The problem seemed to be that the battery pack was reporting that it was 100% charged at just 11.7 V instead of the correct 12.3 V. As it turns out, that 11.7 V figure is only slightly above what the battery should be when its run flat — so in reality, the battery was never actually getting a charge and would report that it was dead after just a few minutes of use. But why?

With a logic analyzer attached to the pins of the battery, [Shrinath] set out to sniff its communications with the ThinkPad.  Even if it wouldn’t lead to fixing the battery pack, the information obtained would potentially be useful for other projects, such as creating a custom high-capacity LiFePO4 pack down the line.

Continue reading “Sniffing Around Inside A ThinkPad Battery”

Exploring The Gakken FX Micro-Computer

Early computer kits aimed at learning took all sorts of forms, from full-fledged computer kits like the Altair 8800 to the ready-made MicroBee Computer-In-A-Book. For those just wanting to dip their toes in the computing world, many low-cost computer “trainers” were released, and Japan had some awesome ones. [Jason Jacques] shows off his Gakken Micro-Computer FX-System (or is it the FX-Computer? Or maybe the FX-Micom? It seems like they couldn’t make up their minds). In any event, it was a combination microcomputer and I/O building blocks system running a custom version of the Texas Instrument TMS1100 microprocessor. Specifically designed to introduce users to the world of computing, the included guide is very detailed and includes 100 example programs and lots of information on how all the opcodes work.

This 4-bit system is similar to the Kenbak computer, with a very simple instruction set and limited address space. However, adding electronic components in plastic blocks brings this machine to a new level of interactivity. Connections can be made to and from the microcomputer block, as well as to the on-board speaker and simple input/output pins.  The example circuit displayed on the front cover of the box enables the microcontroller to connect to the speaker and allows a switch to light up a small incandescent bulb. We can imagine many users wiring up all sorts of extra components to their FX-Computers, and with the advent of 3D printing, it wouldn’t be difficult to create new blocks to insert into the grid.

Continue reading “Exploring The Gakken FX Micro-Computer”

Tridora: A Full-Custom CPU Designed For Pascal

[Sebastian Lederer] has created Tridora: an unusual stack-based CPU core intended for FPGA deployment, co-developed with its own Pascal compiler. The 32-bit word machine is unusual in that it has not one but three stacks, 16-bit instruction words, and a limited ISA, more like those of the 8-bit world. No multiply or divide instructions will be found in this CPU.

The design consists of about 500 lines of Verilog targeting the Digilent Arty-A7 FPGA board, which is based around the Xilinx Artix-7 FPGA line. [Sebastian] plans to support the Nexys A7 board, which boasts a larger FPGA array but has less RAM onboard. The CPU clocks in at 83 MHz with four clock cycles per instruction, so over 20 MIPS, which is not so shabby for a homebrew design. Wrapped around that core are a few simple peripherals, such as the all-important UART, an SD card controller and a VGA display driver. On the software side, the Pascal implementation is created from scratch with quite a few restrictions, but it can compile itself, so that’s a milestone achieved. [Sebastian] also says there is a rudimentary operating system, but at the moment, it’s a little more than a loader that’s bundled with the program image.

The Tridora Gitlab project hosts the Verilog source, an emulator (written in Golang, not Pascal) and a suite of example applications. We see quite a few custom CPUs, often using older or less popular programming languages. Here’s an FPGA-based Forth machine to get you started. Implementing programming languages from scratch is also a surprisingly common hack. Check out this from-scratch compiler for the Pretty Laughable Programming language.

A Modern PC With A Retro OS

Despite the rise of ARM processors in more and more computers from embedded systems to daily driver PCs, the x86 architecture maintains a stronghold in the computing space that won’t be going away anytime soon. One of the main drivers of this is its beachhead in industrial systems; the x86 architecture is backwards-compatible farther back than many of us have been alive and in situations where machines need to run for years with minimum downtime it’s good to know you can grab any x86 system off the shelf and it’ll largely work. This is also true for gaming, so if you’re like [Yeo Kheng Meng] and want to run games like DOOM natively on modern hardware it’s certainly possible, although there are a few catches.

This build goes into the design of a modern AMD Ryzen 5 desktop computer, with all of the components selected specifically for their use running software more than three decades old now. [Yeo Kheng Meng] is targeting DOS 6.22 as his operating system of choice, meaning that modern EFI motherboards won’t necessarily work. He’s turned to business class products as a solution for many of these issues, as motherboards targeting business and industrial customers often contain more support for antiquated hardware like PS/2 and parallel ports while still having modern amenities like DDR5 memory slots. PS/2 ports additionally are an indicator that the motherboard will supports older non-EFI boot modes (BIOS) and can potentially run DOS natively. Everything here can also run modern operating systems, since he isn’t building this system only to run DOS and retro games.

Beyond the motherboard choice, he’s also using a Soundblaster card for audio which is a design choice generally relegated to history, but still used in modern gaming by a dedicated group. There’s also a floppy drive running via a USB header adapter cable. Of course, there are a few problems running DOS and other era-appropriate software natively on such incomprehensibly fast hardware (by early 90s standards). Some video games were hard coded to the processor clock of the x86 process of the era, so increasing the clock speed orders of magnitude results in several playability issues. In emulators it’s easier to provide an artificially slow clock speed, but on real hardware this isn’t always possible. But [Yeo Kheng Meng] has done a lot to get this modern computer running older software like this. Another take we’ve seen for retro gaming on original hardware is this system which uses a brand-new 486 processor meant for use in industrial settings as well.

DIY Core Rope Memory Z80 Demonstrator Generating A Fibonacci Sequence

We’ve seen a few retro products using core rope memory, such as telephone autodiallers. Obviously, we’ve covered the Apollo program computers, but we don’t think we’ve seen a complete and functional DIY computer using core rope memory for program storage until now. [P-lab] presents their take on the technology using it to store the program for a Z80-based microprocessor demoboard, built entirely through-hole on a large chunk of veroboard.

For the uninitiated, core rope memory is a simple form of ROM where each core represents a bit in the data word. Each wire represents a single program location. Passing a wire through the core sets the corresponding bit to a logic 1, else 0. These wires are excited with an AC waveform, which is coupled to the cores that host a wire, passing along the signal to a pickup coil. This forms an array of rudimentary transformers. All that is needed is a rectifier/detector to create a stable logic signal to feed onto the data bus.

Continue reading “DIY Core Rope Memory Z80 Demonstrator Generating A Fibonacci Sequence”