Back in 2012, [sjm4306] was surprised when his breadboard rendition of the classic “Magic 8-Ball” popped up on Hackaday. If he had known the project was going to be enshrined on these hallowed pages, he might have tidied things up a bit. Now with nearly a decade of additional electronics experience, he’s back and ready to show off a new and improved version of the project.
Conceptually, not much has changed from the original version. Press a button, get a random response. But on the whole the project is more refined, and not just because it’s moved over to a custom PCB.
The original version used a PIC16F886 with a charge controller and experimental RTC, but this time around [sjm4306] has consolidated all the functionality into the ATmega328P and is powering the whole thing with a simple CR2032 coin cell. As you can see in the video after the break, assembly is about as quick and straight-forward as it gets.
As with the original, there’s no accelerometer onboard. If you want to see a new message from your mystic companion, you’ve got to hold the button to “shake” the ball. A timer counts how long the button is held down, which in turn seeds the pseudorandom number generator that picks the response. Since each person will naturally hold the button for a slightly different amount of time, this keeps things from getting repetitive.
When we first laid eyes on Keybon, the adaptive macro keyboard, we sort of wondered what the big deal was. It honestly looked like any other USB macro keyboard, with big icons for various common tasks on the chunky keys. But looks can be deceiving, and [Max.K] worked a couple of surprises into Keybon.
First of all, each one of Keybon’s buttons is actually a tiny OLED display, making the keycaps customizable through software. Each of the nine 0.66″ displays has a resolution of 64 x 48 pixels, which is plenty for all kinds of icons, and each is mounted over an SMD pushbutton switch. He had to deal with the problem of the keycaps just wobbling around atop the switch button without depressing it; this was solved with a 3D-printed cantilever frame that forced the keycaps to pivot only in one axis, resulting in clean, satisfyingly clicky keypresses.
The other trick that Keybon has is interactivity. By itself, it boots up with a standard set of icons and sends the corresponding keystrokes over USB. But when used with its companion Windows application, the entire macro set can be switched out to accommodate whatever application is being used. This gives the users access to custom macros for a web browser, EDA suite, CAD applications, or an IDE. The app supports up to eight macro sets and can be seen in action in the video below.
We love the look and the functionality [Max.K] has built into Keybon, but we wonder if e-ink displays would be a good choice for the keycaps too. They’re available for a song as decommissioned store shelf price tags now, and they might be nice since the icon would persist without power.
If you’re reading Hackaday, you almost certainly have a voltmeter. Matter of fact, we wouldn’t be surprised to hear you had two of them. But what if you needed to monitor four voltage levels at once? Even if you had four meters, getting them all connected and in a convenient enough place where you can see them all at once is no small feat. In that case, it sounds like the multi-channel wireless voltmeter put together by [Alun Morris] is for you.
Built as an exercise in minimalism, this project uses an array of components that most of us already have kicking around the parts bin. For each transmitter you’ll need an ATtiny microcontroller, a nRF24L01+ radio, a small rechargeable battery, and a handful of passive components. On the receiver side, there’s an OLED screen, another nRF radio module, and an Arduino Nano. You could put everything together on scraps of perfboard like [Alun] has, but if you need something a bit more robust for long-term use, this would be a great excuse to create some custom PCBs.
While the hardware itself is pretty simple, [Alun] clearly put a lot of work into the software side. The receiver’s 128 x 32 display is able to show the voltages from four transmitters at once, complete with individual indicators for battery and signal level. When you drill down to a single transmitter, the screen will also display the minimum and maximum values. With the added resolution of the full screen display, you even get a very slick faux LCD font to ogle.
Of course, there are some pretty hard limitations on such a simple system. Each transmitter can only handle positive DC voltages between 0 and 20, and depending on the quality of the components you use and environmental considerations like temperature, the accuracy may drift over time and require recalibration. Still, if you need a way to monitor multiple voltages and potentially even bring that data onto the Internet of Things, this is definitely a project to take a look at.
An electronic tachometer is a straightforward enough device, in which the light reflections from a white spot on a rotating object are detected and counted over time, measuring the revolutions per minute (RPM). It’s a technique that has its roots in analogue electronics where the resulting pulses would have fed a charge pump, and it’s a task well suited to a microcontroller that simply counts them. But do you need an all-singing, all-dancing chip to do the job? [Stefan Wagner] has done it with a humble ATtiny13.
His TinyTacho is a small PCB with an IR LED and photodiode on one end, a small OLED display on its front, and a coin cell holder on its rear. The electronics may be extremely simple, but there’s still quite some effort to get it within the ATtiny’s meagre resources. Counting the revolutions is easy enough, but the chip has no I2C interface of its own and some bitbanging code is required. You can find all the design files and software you need in a GitHub repository, and he’s put up a video of the device in action that you can see below the break.
Tachometers are a popular project hereabouts, and we’ve featured a lot of them over the years. Perhaps the best place to direct readers then is not to another project, but to how to use a tachometer.
Among Us is a hit game of deception and intrigue. Those who have played it know the frustration of trying to complete some of the intentionally difficult tasks onboard the Skeld. [Zach Freedman] decided to recreate some of these in real life.
[Zach] built what are arguably the three most frustrating tasks from the game. There’s the excruciatingly slow upload/download station built out of an old Samsung tablet and an NFC tag, and the reactor start console created using a Raspberry Pi 3B, Teensy 3.2, and a custom mechanical keyboard. But perhaps most annoying of all is the infamous card reader. Built with another Teensy, it requires the user to swipe their ID card at just the right speed, except that speed is randomly generated for every swipe. Also, the machine fails 20% of good swipes just because. Perhaps what we love most is the way [Zach] recreated the classic VFD look by putting an OLED display behind bottle-green plastic and using a 14-segment font.
A good smartphone now will have about 500 pixels per inch (PPI) on its screen. Even the best phones we could find clock in at just over 800 PPI. But Stanford researchers have a way to make displays with more than 10,000 pixels per inch using technology borrowed from solar panel research.
Of course, that might be overkill on a six-inch phone screen, but for larger displays and close up displays like those used for virtual reality, it could be a game-changer. Your brain is good at editing it out, but in a typical VR headset, you can easily see the pixels from the display even at the highest PPI resolutions available. Worse, you can see the gaps between pixels which give a screen door-like effect. But with a density of 10,000 PPI it would be very difficult to see individual pixels, assuming you can drive that many dots.
Here’s a neat little trick: take the jaggies out of scaled fonts on the fly! This technique is for use on graphic displays where you might want to scale your fonts up. Normally you’d just write a 2×2 block of pixels for every area where there would have been one pixel and boom, larger font. Problem is, that also multiplies each empty area and you end up with jagged edges in the transitions that really catch your eye.
[David Johnson-Davies] entered big-brain mode and did something much cleverer than the obvious solution of using multiple font files. Turns out if you analyze the smoothing problem you’ll realize that it’s only the angled areas that are to blame, horizontal and vertical scaling are nice and smooth. [David’s] fix looks for checker patterns in what’s being drawn, adding a single pixel in the blank spots to smooth out the edge incredibly well!
The technique has been packaged up in a simple function that [David] wrote to play nicely in the Arduino ecosystem. However, the routine is straightforward and would be quick to implement no matter the language or controller. Keep this one in your back pocket!
Now if all you have on hand is an HD44780 character LCD, that one’s arguably even more fun to hack around on just because you’re so limited on going beyond the hard-coded font set. We’ve seen amazing things like using the custom character slots to play Tetris.