Slice Through Your Problems With A Shukran

We’d wager most hackers are familiar with FTDI as the manufacturer of the gold standard USB-UART interfaces. Before parts like the ultra cheap CH340 and CP2102 became common, if you needed to turn a USB cable into a TTL UART device, “an FTDI” (probably an FT232RL) was the way to make that happen. But some of the parts in the FT232* family are capable of much more. Wanting to get at more than a UART, [linker3000] designed the Shukran to unlock the full potential of the FT232H.

The FT232H is interesting because it’s an exceptionally general purpose interface device. Depending on configuration it can turn USB into UART, JTAG, SPI, I2C, and GPIO. Want to prototype the driver for a new sensor? Why bother flashing your Teensy when you can drive it directly from the development machine with an FT232H and the appropriate libraries?

The Shukran is actually a breakout for the “CJMCU FT232H” module available from many fine internet retailers. This board is a breakout that exposes a USB-A connecter on one side and standard 0.1″ headers on the other, with a QFN FT232H and all the passives in the middle. But bare 0.1″ headers (in a square!) require either further breadboarding or a nest of jumper wires to be useful. Enter the Shukran. In this arrangement, the CJMCU board is cheap and handles the SMT components, and the Shukran is easy to assemble and makes it simple to use.

The Shukran gives you LEDs, buttons and switches, and a bunch of pull up resistors (for instance, for I2C) on nicely grouped and labeled headers. But most importantly it provides a fused power supply. Ever killed the USB controller in your computer because you forgot to inline a sacrificial USB hub? This fuse should take care of that risk. If you’re interested in building one of these handy tools, sources and detailed BOM as well as usage instructions are available in the GitHub repo linked at the top.

Unlocking Hidden Potential In IvyBridge ThinkPads

Upgrading the BIOS in older computers is a great way to get a few more years of life out of old hardware or improve its performance. ThinkPads are a popular choice around these parts, but often flashing new firmware involves directly programming the chips themselves. Luckily, there’s a new flashing tool for some older Thinkpads that is much simpler.

The ThinkPads involved are the xx30 models with IvyBridge processors built around 2012, and a tool called 1vyrain now allows unlocking the bios without disassembling your computer. This means that there’s support for custom BIOS images such as coreboot, and in certain computers this also allows for overclocking, replacing WLAN hardware, and a number of other customizations. It will also allow you to disable the Intel management engine, which is not something we tire of talking about.

If you have one of these older computers floating around, some new RAM, an SSD, and this update will get you well on your way to a computer that feels brand new at virtually no cost, and the upgrades to the BIOS that you can easily make now only add to that. ThinkPads are a popular choice, especially for their hardware, but you do need to make sure that the software on them is trustworthy too.

Header image: Ashley Pomeroy [CC BY-SA 4.0].

A Miniature Laptop You Can Build Yourself

Over the last couple of years, we’ve seen more and more hackers building their own custom computers. We’re not just talking casemods here; enabled by advancements in desktop 3D printing and increasingly powerful boards such as the Raspberry Pi 4, these are machines designed and built from the ground up to meet the creator’s particular set of needs and desires.

A perfect example of this trend is the Rasptop 2.0, a remarkably practical design for a 3D printed miniature laptop. Despite the name, you don’t even need to use the Raspberry Pi if you don’t want to. Creator [Morgan Lowe] has designed the Rasptop to take other single board computers (SBCs) such as the Asus Tinker Board or even the Intel Atom powered Up Board. So whether you want an energy efficient ARM machine running Linux for development, or a mobile Windows box for on the go gaming, you can use the same printed parts.

At the most basic level, the Rasptop 2.0 is just a hollow box with a hinged compartment for a screen mounted on top. You’re free to equip it with whatever hardware you chose. If you’re after maximum runtime you could fill all the free space with batteries, or maybe install multiple hard drives if you’re a data horder in need of a mobile terminal. Even the various SBCs that [Morgan] has tested are really just suggestions. The choice is yours.

Perhaps also our favorite feature of the Rasptop is how he worked a keyboard into the design. Rather than just leaving a big rectangle in the STL for you to shove a mobile keyboard into, the top surface is designed to mount the PCB and membrane keypad of one of those mini wireless keyboards you see on all the import sites. Aside from the fact it’s a good deal chunkier than what we expect from modern mobile devices, it has a very finished and professional overall look.

Of course if you’d rather use all these powerful tools to build a computer that’s somewhat farther off the beaten track, your design could abandon the traditional computer form factors altogether.

Little Hex Tricks Make Little Displays A Little Easier

Depending on the device in hand and one’s temperament, bringing up a new part can be a frolic through the verdant fields of discovery or an endless slog through the grey marshes of defeat. One of the reasons we find ourselves sticking with tried and true parts we know well is that interminable process of configuration. Once a new display controller is mostly working, writing convenience functions to make it easier to use can be very satisfying, but the very first thing is figuring out how to make it do anything at all. Friend of Hackaday [Dan Hienzsch] put together a post describing how to use a particular LED controller which serves as a nice walkthrough of figuring out the right bitmath to make things work, and includes a neat trick or two.

The bulk of the post is dedicated to describing the way [Dan] went about putting together his libraries for a 7-segment display demo board he makes. At its heart the board uses the IS31FL3728 matrix driver from ISSI. We love these ISSI LED controllers because they give you many channels of control for relatively low cost, but even with their relative simplicity you still need to do some bit twiddling to light the diodes you need. [Dan]’s post talks about some strategies for making this easier like preconfigured lookup tables with convenient offsets and masking bits to control RGB LEDs.

There’s one more trick which we think is the hidden star of the show; a spreadsheet which calculates register values based on “GUI” input! Computing the bit math required to control a display can be an exercise in frustration, especially if the logical display doesn’t fit conveniently in the physical register map of the controller. A spreadsheet like this may not be particularly sexy but it gets the job done; exactly the kind of hack we’re huge fans of here. We’ve mirrored the spreadsheet so you can peek at the formulas inside, and the original Excel document is available on his blog.

Open Laptop Soon To Be Open For Business

How better to work on Open Source projects than to use a Libre computing device? But that’s a hard goal to accomplish. If you’re using a desktop computer, Libre software is easily achievable, though keeping your entire software stack free of closed source binary blobs might require a little extra work. But if you want a laptop, your options are few indeed. Lucky for us, there may be another device in the mix soon, because [Lukas Hartmann] has just about finalized the MNT Reform.

Since we started eagerly watching the Reform a couple years ago the hardware world has kept turning, and the Reform has improved accordingly. The i.MX6 series CPU is looking a little peaky now that it’s approaching end of life, and the device has switched to a considerably more capable – but no less free – i.MX8M paired with 4 GB of DDR4 on a SODIMM-shaped System-On-Module. This particular SOM is notable because the manufacturer freely provides the module schematics, making it easy to upgrade or replace in the future. The screen has been bumped up to a 12.5″ 1080p panel and steps have been taken to make sure it can be driven without blobs in the graphics pipeline.

If you’re worried that the chassis of the laptop may have been left to wither while the goodies inside got all the attention, there’s no reason for concern. Both have seen substantial improvement. The keyboard now uses the Kailh Choc ultra low profile mechanical switches for great feel in a small package, while the body itself is milled out of aluminum in five pieces. It’s printable as well, if you want to go that route. All in all, the Reform represents a heroic amount of work and we’re extremely impressed with how far the design has come.

Of course if any of the above piqued your interest full electrical, mechanical and software sources (spread across a few repos) are available for your perusal; follow the links in the blog post for pointers to follow. We’re thrilled to see how production ready the Reform is looking and can’t wait to hear user reports as they make their way into to the wild!

Via [Brad Linder] at Liliputing.

Exploring Early ’90s Video Game Architecture With Another World

Curious about past computer architectures? Software engineer [Fabien Sanglard] has been experimenting with porting Another World, an action-adventure platformer, to different machines and comparing the results in his “Polygons of Another World” project.

The results are pretty interesting. Due to the game’s polygon-based graphics, optimizations vary widely across different architectures, with tricks allowing the software to run on hardware released five years before the game’s publication. The consoles explored are primarily from the early ’90s, ranging from the Amiga 500, Atari ST, IBM PC, and Super Nintendo to the Sega Genesis.

The actual game contains very little code, with the original version at 6000 lines of assembly and the PC DOS executable only containing 20 KiB. The executable simply exists as a virtual machine host that reads and executes uint8_t opcodes, with most of the business logic implemented with bytecode. The graphics use 16 palette-based colors, despite the Amiga 500 supporting up to 32 colors. However, the aesthetics still fit the game nicely, with some very pleasant pixel art.

There’s a plethora of cool tricks that emerge in each of the ports, starting with the original Amiga 500 execution. Prior to the existence of the CPU/GPU architecture, microprocessors had blitters – logic blocks that rapidly modified data within the memory, capable of copying large swathes of data in parallel with the CPU, freeing up the CPU for other operations.

To display the visuals, a framebuffer containing a bitmap drives the display. There are three framebuffers used, two for double buffering and one for saving the background composition to avoid redrawing static polygons. Within the framebuffer, several tricks are used to improve the graphical experience. For scenes with translucent hues, special values are interpreted from the framebuffer index by “reading the framebuffer index, adding 0x8 and writing back”.

Challenges also come when manipulating pixels given each machine’s CPU and bus bandwidth limitations. For filling in bits, the blitter uses a feature called “Area Fill Mode” that scans left to right to find edges, rendering the bit arrays with spaces between lines filled in. Since the framebuffer is stored in five separate areas of memory – or bitplanes – this requires drawing the lines and filling in areas four times, multiplying by the hundreds of polygons rendered by the engine. The solution was to set up a temporary “scratchpad” buffer and rendering a polygon into the clean space. The polygon can then get copied to the screen area with a masked blit operation since the blitter can render anywhere in memory.

Intrigued? The series continues with deep dives into Atari ST, IBM PC, and upcoming writeups on SEGA Genesis/MegaDrive.

A Water Cooled Gaming PC You Can Take With You

Have you ever been stuck in a hotel room wishing you brought your VR-capable gaming PC along with you? Well [thegarbz] certainly has, which was the inspiration for this absolutely gorgeous mobile rig affectionately known as “The Nuclear Football” that brings console-level portability to those who count themselves among the PC Master Race.

OK, fine. We’ll admit that the existence of gaming laptops means you don’t actually need to carry around such an elaborate contraption just to play Steam games on the go. But if you’re going to do it, shouldn’t you do it in style? More practically speaking, [thegarbz] says the cost of this project was less than what a gaming laptop of similar specs would have cost.

The Nuclear Football features a Ryzen 5 2600 processor, a NVIDIA 2070 Super graphics card, and 16 GB of DDR4 RAM. The water cooling gear is from Alphacool, and includes a custom controller that links to the computer and allows [thegarbz] to monitor temperatures and fan speeds via a widget on the desktop.

While not nearly as mobile, this machine does remind us of the water cooled “Big O” that packed all the current-gen consoles and a gaming PC into one glorious machine.