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]!
[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.
Getting 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.
[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).
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”
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”
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”
It is funny how many times you use your full-blown PC as a terminal to another computer (which is quite often not as capable as the terminal computer). If all you need is a remote display and keyboard, a Raspberry PI would be enough. One of the newer Pi 2 boards would be even better.
You could roll your own set of remote access software, but you don’t have to. [Gibbio] has already created a thin client image called RPiTC and recently released version 1.4. The build supports diverse remote protocols including Microsoft Remote Desktop, Citrix, VMWare, and even X3270.
It supports WiFi and VPN. We were a little disappointed that it didn’t seem to have any serial communication programs (in case we wanted to build one into an old TeleType case). Of course, it is just a Linux system so you can install anything you want or need.
Continue reading “New Version of Raspberry Pi Thin Client”