Hackaday Prize 2023: Ubo Project: Building For Builders

The Ubo Pod by [Mehrdad Majzoobi] is a very highly polished extension pack and enclosure for the Raspberry Pi 4, which shows you how far you can go to turn a bare PCB into something that rivals the hardware offerings from Google and others. Gadgets like the Sonos speakers and Amazon or Google’s covert listening devices (aka Echo, Alexa, or whatever they’re branded as) are fun to play with. Still, the difficulty of hacking custom applications into them and god-forbid adding one’s own extension hardware, makes them fairly closed ecosystems. Add in the concerns of privacy and data security; they look less and less attractive the closer you look. Luckily the Raspberry Pi and its friends have improved the accessibility to the point where it’s positively easy to create whatever you want with whatever hardware you need, and to that end we think [Mehrdad] has done a splendid job.

The custom top PCB sits below the wooden top surface, hosting a central LCD display with push buttons located around it. Also sitting atop are some IR transmitters and receivers as well as RGB LEDs for the ring lighting. This top PCB acts as a RPi hat, and plugs into an RPi4 below, which then attaches to a side board via some PCB-mounted connectors, matching up with the USB and audio connectors. This board seems to act purely as an interconnect and form-factor adaptor allowing interfaces to be presented more conveniently without needing wires. This makes for a very clean construction. Extensive use of resin printing is shown, with lots of nice details of how to solve problems such as LED diffusion and bleeding. Overall, a very slick and well-executed project, that is giving us a few ideas for our own projects.

This type of project is commonplace on these fair pages, like this DIY smart speaker for example. With the supply of pi being still a little difficult to deal with, could you roll your own or get an alternative? What about just using your old mobile phone?

2023 Cyberdeck Contest: A Toddler’s Cyberdeck

[Josh] has a child and what do children like more than stuffing random things into their mouths? Pushing buttons, twiddling knobs, and yanking things of course! So [Josh] did what any self-respecting hacker would do and built his little man a custom cyberdeck.

The build follows the usual route of some electronics wedged into a pelican-style waterproof case — which is a good choice for this particular owner — a repurposed all-in-one LCD video player in the lid and a bunch of switches in the base. The player is apparently a V100-base SBC the likes of which are used in shops for those annoying looping promotional videos, but it doesn’t really matter if all it’s doing is being a focus point.

There is no connection from the base to the ‘display’ but that doesn’t matter here. The base is the fun part, with lots of old-school toggle switches and rotary knobs to play with and a load of LEDs to flash in mysterious ways. The guts of this are controlled via an Arduino Mega 2560, with copious amounts of hot glue on display in true hacker style. On the coding side of things, [Josh] used ChatGPT to produce the code from his prompting and Wokwi  to simulate it before deployment to the hardware.

A Turing-Complete CPU In Sunvox? Why Not!

Day-time software engineer and part-time musician, [Logickin,] knows a thing or two about programming the SunVox modular synthesiser and tracker software. Whilst the software is normally used for creating music and sound effects, they decided to really push it, and create the VOXCOM-1610, a functional turing-complete CPU inside SunVox, just for fun.

For those who haven’t come across SunVox before now, this software is a highly programmable visual environment for building up custom synthesisers, piecing signals together to create rhythms — that’s the ‘tracker’ bit — as well as interfacing to input devices such as MIDI and many others. It does look like a lot of fun, but just like CPUs created in Minecraft, just because, this seems to be the first time someone has built one inside this particular music app. The VOXCOM 1610 is a fully functional 10 Hz, 16-bit computer. It boasts 2KB of ROM, 256 bytes of RAM (expandable to 128 KB), and 8 general registers for data exchange between components. If you don’t fancy manually poking bits into the ROM to enter your software, then you’re in luck as [Logickin] has provided an assembler (in Java) that should ease the process a lot. The ABI will look very familiar to anyone who’s ever touched assembler before, although as you’d expect, it is quite light on addressing modes.

Now, all that is needed is for someone to port Doom to this and we’ll have it all. We think that is unlikely to happen. For those who pay attention, we did see one neat SunVox project in the past, which is certainly eye-catching as well as eardrum-bursting.

Thanks to [elbien] for the tip!

Hackaday Prize 2023: PAROL6 – A GPL Desktop Robotic Arm

Parol 6 is a 3D-printed six-axis robot arm created by [Petar Crnjak] as a combination of the principles from a few previous projects. Aside from a pneumatic gripper, each axis is driven by a stepper motor, with at least a few of these axes being driven through a metal planetary gearbox for extra precision and torque.

From what we can glean from the work-in-progress documentation, there are some belt drives on four of the relevant axes and a mix of NEMA17 format steppers driving either 20:1 or 10:1 reduction boxes. There appears to be a mix of inductive sensors and traditional microswitches used, but it’s not so easy to work out where these are placed. Continue reading “Hackaday Prize 2023: PAROL6 – A GPL Desktop Robotic Arm”

Install ChimeraOS And Never Leave The Sofa

There are some projects that initially don’t seem to make sense, but actually turn out to have valid use cases. ChimeraOS appears to be one of those. The idea is that if you own a gaming PC, but it is not necessarily located where you want to be all the time (like in a gaming den or office for example) then ChimeraOS allows you to play games on it remotely via a local machine. That machine may be a media PC attached to your main TV, or perhaps a mobile device like a steam deck.

With support for AMD GPUs only, there is one issue with deployment — if you’re an Nvidia owner you’re out of luck — the premise is to be able to boot up into a gaming-friendly environment with minimal fuss. Hook up a controller and you’re good to go. Support is also there for a few mobile devices, specifically some Aokzoe, Aya Neo, and OneXPlayer devices as well as some preliminary support for the Asus ROG Ally not to mention the Steam Deck as we touched on earlier. From a software perspective, it obviously supports the Steam platform but also Epic Games, Good Old Games (GOG), and tentatively a mention of console platforms. Sadly the website doesn’t mention much detail on that last bit, but there are some tantalizing hints in the project’s Twitter/X/whatever feed. Reading the release notes, there are mentions of PCSX2 (Playstation 2) Super Game Boy and Atari platforms, so digging into the GitHub repo might be instructive, or you know, actually installing it and trying. This scribe doesn’t own an AMD GPU so that isn’t an option, but do drop us a line in the comments if you’ve tried it and how it works for you.

Many of us at Hackday are avid gamers, especially of the retro kind, which is why we really like these projects. Here’s a nice game controller you can print yourself. For self-builds, there’s nothing quite like the satisfaction of a DIY arcade machine, but what if you think outside the box?

PentaBlinky – When One LED Is Not Blinky Enough

[michimartini] over on Hackaday.io loves playing with multivibrator circuits, and has come across a simple example of a ring oscillator. This is a discrete transistor RC-delay design utilizing five identical stages, each of which has a transistor that deals with charging and discharging the timing capacitor, passing along the inverted signal to its nearest neighbor. The second transistor isn’t strictly needed and is only there to invert the signal in order to drive the LED. When the low pulse passes by the LED lights, without it you’d see all the LEDs lit bar one, which doesn’t look as good.

Compare this with an astable multivibrator to understand how it works

Essentially this circuit is just the classic astable multivibrator circuit that has been split in half and replicated so that the low pulse propagates through more stages than just the two, but thinking about it as a single stage doesn’t work so well until you draw in a couple of neighbors to help visualize the behavior better.

[michimartini] does lament that the circuit starts up in a chaotic fashion and needs a quick short applying to one transistor element in order to get it to settle into a steady rhythm. Actually, that initial behaviour could be interesting in itself, especially as the timing changes with voltage and temperature.

Anyway, we like the visual effect and the curvy organic traces. It would make a neat pin badge. Since we’re thinking about blinkies, here are couple of somewhat minimalist attempts, the world’s smallest blinky, and an even smaller one. Now, who doesn’t love this stuff?

Continue reading “PentaBlinky – When One LED Is Not Blinky Enough”

Super Mario In Sed, Sort Of

We definitely needed to reach for a sed reference guide for this one, but looking at the animated GIF of the script running, it is recognizably Super Mario Bros. albeit with minimal gameplay beyond jumping obstacles and avoiding or destroying koopas et al. Creator [Ivan Chebykin] is for certain a master of the dark arts.

Digging in a bit deeper, it’s not strictly speaking 100% sed. A wrapper shell script is required to interface to the shell and grab the keyboard input to pass along. This is simply because sed is a stream processor, and as such it requires text to be fed into it, and it produces a text output. It has no way of reading the terminal input directly, hence the wrapper script. However, all the game logic and ‘graphics’ rendering is pure sed, so that’s perfectly reasonable.

Such programming demos are a great way to hone the finer points of various tools we use every day, whilst not being serious enough to matter if we fail. Pushing the boundaries of what can be done with these basic nuts and bolts we take for granted, is for us the very essence of software hacking, and bravo we say.

Reckon you could top this? Show us! In the meantime, here’s a guide to hacking the recently released Game and Watch, and then doing the decent thing and running DOOM on it. Finally, sed is notoriously tricky to work with, so to help here’s a graphical debugger to make things a little clearer.