Ask Hackaday: What’s The Deal With Humanoid Robots?

When the term ‘robot’ gets tossed around, our minds usually race to the image of a humanoid machine. These robots are a fixture in pop culture, and often held up as some sort of ideal form.

Yet, one might ask, why the fixation? While we are naturally obsessed with recreating robots in our own image, are these bipedal machines the perfect solution we imagine them to be?

Continue reading “Ask Hackaday: What’s The Deal With Humanoid Robots?”

Automatic Transfer Switch Keeps Internet Online

Living in a place where the electric service isn’t particularly reliable can be frustrating, whether that’s because of a lack of infrastructure, frequent storms, or rolling blackouts. An option for those living in these situations is a backup generator, often turned on and connected by an automatic transfer switch. These are necessary safety devices too; they keep power lines from being back-fed by the generators. But there are other reasons to use transfer switches as well as [Maarten] shows us with this automatic transfer switch meant to keep his computers and Internet powered up.

The device is fairly straightforward. A dual-pole, dual-throw relay is housed inside of an electrical junction box with two electrical plugs, each of which can be connected to a different circuit or power source in [Maarten]’s house. The relay coil is energized by the primary power supply, and when that power is lost the relay automatically changes over to the other power supply, which might be something like a battery backup system. [Maarten] was able to get a higher quality product by building it himself rather than spending a comparable amount of money on a cheap off-the-shelf product as well. Continue reading “Automatic Transfer Switch Keeps Internet Online”

TinyBasicLike: A Target-Independent BASIC Interpreter

In the long and winding history of BASIC, it’s sometimes hard to keep track of all the different variants and dialects. Some may still remember TinyBASIC, which was published in 1976 as Palo Alto Tiny BASIC by [Gordon Brandly]. Later, TinyBASIC was modified by a number of people including [Scott Lawrence] who created TinyBASIC Plus (TBP). Inspired by this, [Karl] figured he could improve on TBP by making the original C-based project even easier to port by removing whatever platform dependencies he could find, creating what he calls TinyBasicLike.

The main change is that TinyBasicLike consists out of two C files, with one containing the core code, and the second the platform-specific details that can be used by the core. Although [Karl] started off with the Palo Alto Tiny BASIC-like code by [Scott Lawrence], he decided to make it into his own by making a few alterations, such as adding left and right shift operators, adding an ADDR() function, expanding the features of INPUT and adding multiple logical operators.

In the example STM32F4 project linked on the project page it is demonstrated how to target a new platform with TinyBasicLike. Performance on the STM32F4 Discovery board with a simple counting loop yielded about 6 lines of TBL program code per millisecond. For a 168 MHz STM32 MCU that’s definitely not astounding, but considering how straightforward Tiny BASIC (and TBL as a consequence) is, it’s definitely no slouch.

This is probably a good time to remind that BASIC was the original champion of cross-platform programming and the source of countless fond (and frustrating) memories.