Capture the Flag with Lightsabers

There’s a great game of capture-the-flag that takes place every year at HITCON. This isn’t your childhood neighborhood’s capture-the-flag in the woods with real flags, though. In this game the flags are on secured servers and it’s the other team’s mission to break into the servers in whatever way they can to capture the flag. This year, though, the creators of the game devised a new scoreboard for keeping track of the game: a lightsaber.

In this particular game, each team has a server that they have to defend. At the same time, each team attempts to gain access to the other’s server. This project uses a lightsaber stand that turns the lightsabers into scoreboards for the competition at the 2015 Hacks In Taiwan Conference. It uses a cheap OpenWRT Linux Wi-Fi/Ethernet development board, LinkIt Smart 7688 which communicates with a server. Whenever a point is scored, the lightsaber illuminates and a sound effect is played. The lightsabers themselves are sourced from a Taiwanese lightsabersmith and are impressive pieces of technology on their own. As a bonus the teams will get to take them home with them.

While we doubt that this is more forced product integration advertisement from Disney, it certainly fits in with the theme of the game. Capture-the-flag contests like this are great ways to learn about cyber security and how to defend your own equipment from real-world attacks. There are other games going on all around the world if you’re looking to get in on the action.

Continue reading “Capture the Flag with Lightsabers”

Open Source… Windows?

There’s a lot to be said for open source software. The ability to change code to suit one’s needs, the fact that security vulnerabilities can be easier to find, and the overall transparency are just the tip of the iceberg when it comes to the strengths of using open source software. And, while Microsoft is no Apple when it comes to locking down their source code, their operating system is still, unfortunately, closed.

Don’t despair, though! There is a project out there that aims to change this. No, they’re not stealing anything or breaking into any computers to obtain Microsoft’s code. They’re writing their own version of Windows called ReactOS that aims to be binary-compatible with Windows. The software has been in development for over a decade, but they’re ready to release version 0.4 which will bring USB, sound, networking, wireless, SATA, and many more features to the operating system.

While ReactOS isn’t yet complete for everyday use, the developers have made great strides in understanding how Windows itself works. There is a lot of documentation coming from the project regarding many previously unknown or undocumented parts of Windows, and with more developers there could be a drop-in replacement for Windows within a few years. It’s definitely worth a shot if you fondly remember the frontier days of Linux where doing things like reading information on a CD required extensive experience using the terminal. If this is a little too much, though, there are other unique operating systems out there to investigate.

Thanks for the tip, [Matt]!

VOCore Tutorial Gets You Started with Tiny Router

[Vadim] wrote up this short but sweet tutorial on getting started with the Vocore (tiny) OpenWRT-router-on-a-stamp. If you need more computing power than you can get with an ESP8266, and you want an open-source Linux-plus-Wifi solution in a square inch of board space, the Vocore looks pretty sweet.

We covered the Vocore a while ago. It has 28 GPIOs, all accessible from system calls in OpenWRT. It becomes much more computer-like if you add a dock that breaks out the USB and Ethernet functionality, but that also doubles the price.

IMG_5299_tnGetting started with a no-frills Linux box (chip?) can be intimidating. So it’s a good thing that [Vadim] details a first setup of the Vocore over WiFi and SSH, and then takes you through a button-and-LED style ‘Hello World’ application that makes simple use of the GPIOs.

He says he’s going to interface it eventually with a TI CC110 sub-gig radio unit, but that’s going to involve writing some drivers and will take him some time. We’d love to see how to connect peripherals, so we’re waiting with bated breath.

[Vadim] also helpfully included an un-bricking script for the Vocore, which restores the default firmware and gets you out of whatever hole you’ve managed to dig yourself into. Basically, you connect to the device over a USB-Serial adapter, run his script, and you should be set.

Any of you out there using a Vocore? Or other OpenWRT routers? Give [Vadim]’s tutorial a glance and let us know what you think.

Raspberry Pi Halloween Voice Changer

[Dave Shevett] has spent a lot of time (more than a year) expanding his Technomancer costume along with the companion (Arduino-driven) magic staff. He found, however, he needed a way to get his voice out from behind the mask. If you are going to go through that much trouble, you might as well augment your voice at the same time, right?

[Dave’s] voice changer uses a Raspberry Pi which isn’t all that complicated. The Pi uses Linux, and Unix–the predecessor to Linux–has a long history of having little tools you can string together to do big jobs. So once you have a Pi and a sound card, the rest is just some Linux command line wizardry.

There’s a battery and a small portable amplifier to get that booming voice. Since you don’t want to lug a keyboard and monitor around to handle every reboot, [Dave] set the Pi up to run his voice-changing scripts on each reboot.

This is a great example of why old Unix programmers make small tools and use the shell to join them together. [Dave’s] voice changer is pretty much just some off the shelf parts and a  script so simple it hardly qualifies as programming in any real sense. In fact, it is essentially one line of “code”:

play "|rec --buffer 2048 -d pitch -300 echos 0.8 0.88 100 0.6 150 .5 band 1.2k 1.5k"

Sure, there is some street cred in embedded development to doing everything the hard way, but with the advent of cheap embedded Linux systems, why not take advantage of the tools where you can?

If you want a more roll-your-own approach, you can pick up your Arduino or break out an audio mixer (but good luck getting it in your costume).

It’s an Upright Piano, It’s a Looper, It’s a Pi Project

We don’t really get out much, but we have noticed that there are brightly painted upright pianos in public places these days. Research indicates that these pianos are being placed by small, independent local organizations, most of which aim to spread the joy of music and encourage a sense of community.

[Sean and Mike] took this idea a couple of steps further with Quaver, their analog looping piano. Both of them are maker/musicians based in Lancaster, Pennsylvania, which happens to be a hot spot for public pianos. [Sean and Mike] often stop to play them and wanted a good way to capture their impromptu masterpieces. Quaver is an antique upright that has been modified to record, save, loop, and upload music to the internet. It does all of this through a simple and intuitive user interface and a Raspi 2. Quaver works a lot like a 4-track recorder, so up to four people can potentially contribute to a song.

The player sits down, cracks their knuckles, and presses our personal favorite part of the interface: the giant, irresistible record button. A friendly scrolling LED matrix display tells them to start playing. Once they are satisfied, they press the button again to stop the recording, and the notes they played immediately play back in a loop through a pair of salvaged Bose speakers from the 1980s. This is just the beginning of the fun as you play along with your looping recording, building up several voices worth of song!

Continue reading “It’s an Upright Piano, It’s a Looper, It’s a Pi Project”

Orange is the New ($15) Pi

When the Raspberry Pi came on the scene it was hard to imagine that you could get a fairly complete Linux system for such a low price. The Pi has gotten bigger, of course, but there are still a few things you miss when you try to put one into a project. Wifi, comes to mind, for example. The first thing you usually do is plug a Wifi dongle in, consuming one of the two USB ports.

The Orange Pi is a direct competitor and has a few variants. Originally, the board cost about $30 but sports WiFi, a 1.6 GHz processor, 8 GB of flash, and a SATA interface. There’s now a reduced version of the board for about $15 that deletes the flash and SATA along with the WiFi and one of the original’s 4 USB ports. Still, the Raspberry Pi doesn’t have built-in flash. And the $15 Orange Pi PC has the things you’d expect on a Pi (HDMI and Ethernet) along with other extras like an IR receiver and an on-board microphone. Not bad for $15 considering it has a quad-core processor, a GPU and 1GB of RAM. Continue reading “Orange is the New ($15) Pi”

Firmware Factory: Bit Fields vs Shift and Mask

Working with embedded systems usually involves writing code which will interface with hardware. This often means working on the register level. It doesn’t matter if we’re talking about a UART, an analog to digital converter, an LCD controller, or some other gizmo. Sooner or later, you’re going to have to break out the datasheets and figure out how to talk to an external device. To succeed at this you must become a master of bit manipulation.

Hardware designers don’t like wasting space, so modes, settings and other small pieces of information are often stored as packed bits. Our processors usually access things a byte (or a word) at a time, so what is the best way to handle this? Like so many other topics in software engineering, there are multiple ways to skin this cat. In C (and its derivatives) there are two major options: shift and mask, and bit fields.

Continue reading “Firmware Factory: Bit Fields vs Shift and Mask”