My First Brainf*ck

fuck

There was a time – not too long ago – that a ‘my first computer’ required the use of machine code and an understanding of binary. While an introduction to computers is now just how to put a Raspberry Pi image on an SD card, a few people are keeping the dream of memorizing opcodes alive. One such person is [Johan von Konow], creator of My First Brainfuck, an ultra small, low-cost programmable computer.

My First Brainfuck is an Arduino shield designed to have all the features of a normal computer, but without all those messy mnemonics that make assembly programming so easy. This computer is programmed in Brainfuck, a purposely obtuse programming language that, while being incredibly esoteric and difficult to program in, can be very, very rewarding.

[Johan] has a short tutorial showing how his computer works and how the Brainfuck language operates. There are only eight commands in Brainfuck, perfect for such a minimal user interface, but with enough patience, nearly anything can be written in this difficult language.

Right now there are a few examples showing how to play a scale on the on-board buzzer, displaying a Larson scanner on the LEDs, and a few more programs will be published in the future.

Putting The Brains Of A Reverse Geocache On The Outside

ioio

A reverse geocache – a box that only opens in a specific geographical area – is a perennial favorite here at Hackaday. We see a ton of different implementations, but most of the time, the builds are reasonably similar. Of course dedicating a GPS receiver solely to a reverse geocache isn’t an inexpensive prospect, so [Eric] came up with a better solution. He’s using a smart phone as the brains of his geocache, allowing him to keep the GPS and display outside the locked box.

The build began by finding an old box and modifying it so it can be locked with a servo. The only other bits of electronics inside the box are an IOIO board, a battery pack, and an I2C EEPROM for storing a few settings. On the phone side of things, [Eric] wrote an Android app to serve as both the programming interface, UI, and GPS hardware for his reverse geocache. It’s exactly like all the other reverse geocaches we’ve seen, only this time the controls are wireless.

[Eric] put up a video demoing his reverse geocache. You can check that out after the break.

Continue reading “Putting The Brains Of A Reverse Geocache On The Outside”

Designing A Quadcopter Brain PCB

When working on his quadcopter project [Matt] decided it would be best to build a robust controller for the device. He had never sent off a PCB design for fabrication, but took the plunge and ended up with a compact and reliable PCB on the first try.

One of the first things that comes to mind when we hear about quadcopter controllers are the feedback sensors. The accelerometers which are used for these projects generally come in a DFN or QFN package. This means there are no legs. Instead the chip has pads on the bottom of the package making it a lot more difficult to solder. [Matt] side-stepped this issue by using an IMU board which already has the sensors in place and offered a 0.1″ SIL pin header to use as an interface. This is simple to roll into the design, along with all of the other connectors for motor control, power, etc. He grabbed a copy of Eagle Lite to do the layout, and used OSH Park to get the boards fabricated. He was surprised that everything worked on the first try. Thanks to his planning it fits inside of a plastic food container where it should be able to ride out most minor crashes with ease.

A Simple Touch Interface For Music Player Daemon And More

mpd-controller

[Andrew] recently got the authorization to install Linux on his work PC, and he was looking for a way to control his music without relying on keyboard shortcuts to do so. Additionally, he wanted an unmistakable visual cue when he received messages in Pidgin, so he decided to build an external input/notification box.

The control box, quite literally, is a cardboard box in which [Andrew] crammed some components he got way back when from the crew at Seeed Studio. A Seeeduino serves as the brains of his control panel, interfacing with his PC over USB. He uses a set of 4 touch sensors and a potentiometer to control the MPD, allowing him to easily switch tracks, pause his music, control the volume, and lock his computer with a simple touch. A side-mounted RGB LED lights green to show that the system has received his commands successfully, pulsing a bright blue whenever a message arrives via Pidgin.

While the case isn’t exactly pretty, it is small, recycled, and takes up very little desk space. [Andrew] says that it works great, and he has made his code available on github if anyone is interested in using it.

Brain Control For The Arduino

brain-controlled-arduino

When we hear about a brain controlled Arduino project we immediately think about a coding nightmare. As always, the simple hacks are the best hacks. [Joel] and [Akshay] used hardware from a kid’s game as a brain interface for an Arduino.

We came across the video (embedded after the break) of their work and asked for more info on what we thought was an incredibly difficult hack. It turns out they purchased Uncle Milton’s Force Trainer which uses a headset to measure brain waves and has a base unit that reacts to these measurements. Hacking into this device didn’t require reverse engineering of anything. They took the easy route, and tapped into the five LEDs on the base unit. As the game measures greater levels of concentration, it lights up more LEDs.

So far tapping into the game is just a proof of concept. It’s up to you to implement a brain controlled beer bot.

Continue reading “Brain Control For The Arduino”

Solar Heart Engineered To Beat For Decades

It’s often said that if something is worth doing it’s worth doing right, or maybe even worth overdoing. This is clearly a concept that [ANTALIFE] takes very seriously, as made abundantly clear by projects like the solar powered “beating” heart he made as a gift for his wife. What for most of us would have ended up being a junk bin build becomes a considerable engineering project in his hands, with a level of research and fine tuning that’s frankly staggering.

But [ANTALIFE] didn’t put this much thought into the device just for fun. He wants it to remain functional for as long as 30 years, and hopes he and the missus can still look on it fondly in their retirement years. Keeping an electronic device up and running for decades straight means you need to look carefully at each component and try to steer clear of any potential pitfalls.

The biggest one was the battery. More specifically, the fact he couldn’t use one. The lifetime of most rechargeable batteries is measured in hundreds of cycles, which for a device which will be charged by solar every day, means the battery is going to start showing its age in only 4 to 5 years. That simply wasn’t going to cut it.

[ANTALIFE] did some digging and realized that the solution was to use a supercapacitor, specifically the AVX SCMS22C255PRBA0. This is little wonder is rated for a staggering half million cycles, which in theory means that even with daily use it should still take a charge in the year 3300. In practice of course there are a lot of variables which will reduce that lifetime such as temperature fluctuations and the Earth being conquered by apes; but no matter what caveats you put on the figure it should still make 30 years without breaking a sweat.

Similar thought was given to choosing a solar cell with a suitably long lifetime, and he did plenty of testing and experimentation with his charging circuit, including some very nice graphs showing efficiency over time, to make sure it was up to snuff. Finally he walks the reader though his light-sensitive ring oscillator circuit which gives the device its pleasing “breathing” effect once the lights go down.

We’d love to bring you an update on this device in 30 years to see how close [ANTALIFE] got, but as we’re still trying to work the kinks out of the mobile version of the site we can’t make any guarantees about what the direct-brain interface version of HaD might look like. In the meantime though, you can read up on the long term battle between supercapacitors and traditional batteries.

Continue reading “Solar Heart Engineered To Beat For Decades”

The rust language logo being branded onto a microcontroller housing

C++ Encounters Of The Rusty Zig Kind

There comes a time in any software developer’s life when they look at their achievements, the lines of code written and the programming languages they have relied on, before wondering whether there may be more out there. A programming language and its associated toolchains begin to feel like familiar, well-used tools after you use them for years, but that is no excuse to remain rusted in place.

While some developers like to zigzag from one language and toolset to another, others are more conservative. My own journey took me from a childhood with QuickBasic and VisualBasic to C++ with a bit of Java, PHP, JavaScript, D and others along the way. Although I have now for years focused on C++, I’m currently getting the hang of Ada in particular, both of which tickle my inner developer in different ways.

Although Java and D never quite reached their lofty promises, there are always new languages to investigate, with both Rust and Zig in particular getting a lot of attention these days. Might they be the salvation that was promised to us C-afflicted developers, and do they make you want to zigzag or ferrously oxidize?

Continue reading “C++ Encounters Of The Rusty Zig Kind”