The Word Clock You Can Feel

By this point, pretty much everyone has come across a word clock project, if not built one themselves. There’s just an appeal to looking at a clock and seeing the time in a more human form than mere digits on a face. But there are senses beyond sight. Have you ever heard a word clock? Have you ever felt a word clock? These are questions to which Hackaday’s own [Moritz Sivers] can now answer yes, because he’s gone through the extreme learning process involved in designing and building a haptic word clock driven with the power of magnets.

Individual letters of the display are actuated by a matrix of magnetic coils on custom PCBs. These work in a vaguely similar fashion to LED matrices, except they generate magnetic fields that can push or pull on a magnet instead of generating light. As such, there are a variety of different challenges to be tackled: from coil design, to driving the increased power consumption, to even considering how coils interact with their neighbors. Inspired by research on other haptic displays, [Moritz] used ferrous foil to make the magnets latch into place. This way, each letter will stay in its forward or back position without powering the coil to hold it there. Plus the letter remains more stable while nearby coils are activated.

Part of the fun of “ubiquitous” projects like word clocks is seeing how creative hackers can get to make their own creations stand out. Whether it’s a miniaturized version of classic designs or something simple and clean, we  love to see them all. Unsurprisingly, [Moritz] himself has impressed us with his unique take on word clocks in the past. (Editor’s note: that’s nothing compared to his cloud chambers!)

Check out the video below to see this display’s actuation in action. We’re absolutely in love with the satisfying *click* the magnets make as they latch into place.

Continue reading “The Word Clock You Can Feel”

30-Year-Old Macintosh SE/30 Gets A Brand New Logic Board

Some time ago, [Bolle] got the idea to redraw the Macintosh SE/30 schematics in Eagle. Progress was initially slow, but over the past month (and with some prodding and assistance from fellow forum frequenter [GeekDot]), he’s taken things a step further by creating a fully functional replacement Macintosh SE/30 logic board PCB.

By using the available schematics, the project didn’t even require much reverse engineering. Though he plans for more modernization in later iterations, this design is largely faithful to the original components and layout, ensuring that it is at least basically functional. He did update the real time clock battery to a CR2032 and, as a benefit of redrawing all the traces, he was able to use a 4-layer PCB in place of the costly 6-layer from Apple’s design.

The board came back from fabrication looking beautiful in blue; and, once he had it soldered up and plugged in, the old Mac booted on the very first try! A copy-paste mistake with the SCSI footprints led to some jumper wire bodging in order to get the hard drive working, but that problem has already been fixed in the next revision. And, otherwise, he’s seen no differences from the original after a few hours of runtime.

Recreating old Macintosh logic boards almost seems like its own hobby these days. With the design and fabrication capabilities now accessible to hobbyists, even projects that were once considered professional work are in reach. If you’re interested in making your own PCB designs, there are many resources available to help you get started. Alternatively, we have seen other ways to modernize your classic Macs.

[Thanks to techknight for the tip!]

Tether Tames Temperamental Typing

[chadaustin] has a favorite keyboard with a great ergonomic shape, key travel distance, and size, but after switching to Windows 10, the wireless connection introduced a terrible delay. Worse yet, the receiver is notoriously susceptible to interference from USB 3.0 hubs. To provide 128-bit AES encryption, the receiver is paired with the keyboard at the factory and cannot be replaced. If you lose that, you gain a highly ergonomic paper-weight. The solution for [chadaustin] was tethering the keyboard and receive several crash-courses in hardware hacking along the way. As evidenced by the responses to this project on ycombinator, many long-time fans of the Microsoft Sculpt Ergonomic Keyboard, introduced in 2013, suffer similar issues.

chadaustin's sculpt keyboard USB board layout
KiCad USB controller board layout

We really appreciate that [chadaustin] took an incremental approach, tackling one problem at a time and getting help from others along the way for first attempts at many complex steps. The proof-of-concept involved hand-soldering each lead from the keyboard matrix’s test pads to a QMK Proton C, which worked but couldn’t fit inside the keyboard’s case. For a more permanent and tidy solution, [chadaustin] tried a ribbon-cable breakout board and other microcontrollers, but none of those were compact enough to fit inside the case either. This required a custom PCB, another first for [chadaustin].

After a one-day intro to KiCad, [chadaustin] dug into the datasheets, completed a schematic for the board, and generously shared the process of choosing components and creating the layout. [chadaustin] ordered a board and found the mounting holes’ placement needed to be shifted.

With the full matrix mapped by [johnmilkspill], flashing QMK onto the AT90USB1286 controller went fairly smoothly. [chadaustin] chose to map both sides of the split spacebar back to the space key but did add a feature by repurposing the battery indicator LED to Caps Lock. And the results?

chadaustin's sculpt keyboard USB controller fit into case
USB controller fits into the plastic case, wires added to ISP for bootloader button

According to testing done with Is It Snappy?, the latency dropped from the wireless 78 ms down to 65 ms over USB. More importantly, this latency is now consistent, unaffected by USB hubs, and there is no receiver to lose. Of course, [chadaustin] has ideas for future improvement, including regaining the multimedia function keys, as these kinds of hacks are never really done; they are just in the current revision. No word on the fate of the detached number pad, but that likely needs its own tether and is a project for another day.

Thanks for the tip [Linus Söderlind]

A Breadboard Block For 8-Bit CPUs

Breadboard CPUs are a fantastic learning experience and require serious dedication and patience. Occasionally, CPU builders eschew their breadboards and fab their design onto a PCB. But this takes away the flexibility and some of the opportunity for learning that breadboard CPUs offer. [c0pperdragon] was doing the same sort of repetitive wiring from project to project as most 8-bit breadboard CPUs use memory, a bus, an IO controller, ROM, and a few other passive components.

Taking a compromise approach, [c0pperdragon] built a PCB that can be used as a building block in his custom CPUs which they have titled “ByteMachine”. A single row of 34 pins offer power, clock, reset, 19 address bus lines, 8 data bus lines, and a ROM selector. This means that the CPUs can fit on a single breadboard and can run faster as the impedance of the breadboard has less effect on the circuit. With 512 KB of RAM and 512 KB of ROM, in a ZIF socket for easy reprogramming, ByteMachine has plenty of space.

One drawback is the lack of IO. There is no dedicated address space as this would require decoding logic between the RAM and the CPU. [C0pperdragon] added a simple 8-bit output register provided by a 74-series logic IC. The data is displayed on 8 red LEDs and can be accessed via pins. Input is accomplished in a similar way with just 8 bits of digital input provided.

[C0pperdragon] has built the 65C02, 65C816Z84C00, and the i8088 with the ByteMachine. Each was documented with incredible schematics, pictures, and test programs on GitHub. Next time you’re looking to build a CPU on a breadboard, maybe start with a ByteMachine. In some ways, it might improve your learning experience as it makes the incredible mass of wires we’ve seen on other projects a tad more manageable.

Thanks [Reinhard Grafl] for sending this one in!

Casio Computer Rebuild Puts New Wine In An Old Bottle

With a glut of vintage consumer electronics available from eBay it should be easy to relive your glory days, right? Unfortunately the march of time means that finding gear is easy but finding gear that works is not. So was the case when [Amen] acquired not one, but two used calculator/computer units hoping to end up with one working device. Instead, he went down the rabbit hole of redesigning his own electronics to drive the Casio QT-1 seen here.

Especially interesting is the prototyping process for the replacement board. [Amen] used a “BluePill” STM32 microcontroller board at its heart, and used point-to-point soldering for the rest of the circuitry on a rectangle of protoyping board. That circuit is non-trivial, needing a 23 V source to drive the original VFD from the computer, a battery-backed real-time-clock (MCP7940), and a GPIO expander to scan the keys on the keypad.

It worked great, but couldn’t be cut down to fit in the case. The solution was a PCB designed to fit the footprint of the original. The modern guts still need more firmware work and a couple of tweaks like nudging that 23 V rail a bit higher to 26 V for better brightness, but the work already warrants a maniacal cry of “It’s Alive!”.

This isn’t [Amen’s] first rodeo. Back in March we looked in on another vintage Casio refurb that sniffed out the display protocol.

Transform Kicad Design To Patchwork For Isolation Routing

Tuning a desktop router and your board designs for isolation routing can be a bit tricky, with thin traces usually being the first victim. For simple prototype boards you usually don’t need tightly packed traces, you just want to isolate the nets. To do this with a minimum amount of routing, [Michael Schembri] created kicad-laser-min, a command-line utility that takes a Kicad PCB design and expands all the tracks and pads to their maximum possible width.

Laser scribed PCB with maximum track widths

The software takes one layer of the PCB layout, converts it to black and white, and then runs a C++ Voronoi algorithm on it to dilate each track and pad until it meets another expanding region. Each region is colourised, and OpenCV edge detection is used to produce the contours that need to be milled or etched. A contour following algorithm is then used to create the G-code. The header image shows the output of each step.

Full source code is available on GitHub. [Michael] has had good results with his own boards, which are scribed using a laser cutter before etching, but welcomes testing and feedback from other users. He has found that OpenCV doesn’t always completely close all the contours, but the gaps are usually smaller than the engraving width of his laser, so no shorts are created.

This is basically “Scribble style” prototyping with CAD and CNC tools. If you prefer scribe and etch, you might consider building a simple PCB shaker for faster etching. If you have a router but want to avoid the dust, you can use a carbide scribe to scratch out the tracks without needing to etch.

A Commmand Center For Children With Sensory Needs

Toys for children are meant to be fun and interactive, but they’re even better if they’re educational as well. For [carrola1], a parent of a 4-year-old suffering from from medical disabilities, sensory needs, and autism, a more personalized approach seemed best. The electrical engineer built a wall-mounted command center with plenty of switches, buttons, and knobs to trigger to keep any child happy.

Apart from basic inputs, the device also has a color sensor – the command center can ask the child for an object of a particular color and congratulate them with a song when they’ve successfully acquired one.

The software for the audio and light controls was written in C for a STM32L0 series MCU, with CMSIS as the hardware abstraction layer and STM32CubeIDE as the IDE. The design uses SPI and I2C for serial communication and I2S for communicating between the digital audio devices. Physical inputs include toggle switches, rotary switches, and key switches to provide variety, with all physical hardware connected to the MCU on a custom PCB.

The audio output, sourced from a library of wav files, seems like the most challenging part of the build: the amps needed to be changed from left channel mono configuration to stereo, the output had to be LC filtered, and the code for had to be optimized for size to allow the audio files to play.

You can check out a video of the command center in action on the Reddit post.