Open source audio remote control

audio-remote

I’ve started a FLOSS remote control receiver project for DIY audio preamplifiers. I think it’s just about good enough to make public.

Remote control is one of the more challenging things for an audio DIY person to implement, so I thought having an open source hardware and software platform for doing this would be useful. It uses our good friend Arduino for brains and works with the Philips RC-5 protocol. I like RC-5 because its the closest thing I know of to a universal, well-documented, brand- and model-agnostic protocol.

The IR command decoding is done using Guy Carpenter’s excellent RC5 library. I also considered using Ken Shirriff’s multi-protocol IR library. Ken’s library works with a large number of protocols, but I thought its larger memory footprint might preclude porting this thing to tiny AVRs.

Details on the project are available in my RC5-Preamp GitHub or GitLab repository. [2021 update: This project is currently abandonware, so I have made the above repos private. If anyone wants access, contact me and we’ll figure something out.]

Arduino support for Komodo Edit

Komodo-edit with Arduino support

I’ve added basic Arduino support to Komodo Edit for projects that use a Makefile. This simply involved adding a menu and a toolbar for invoking make, make upload, make monitor, and make clean.

If you want to add the menu and toolbar to your Komodo, expand this file and drop its contents into your /home/<username>/.komodoedit/<version-number>/tools directory or the equivalent on your OS. (Update: see this comment for a potentially easier way to add the tools.) Add your preferred keyboard shortcuts for any or all of the commands by editing the items under “Arduino” in the Toolbox. I’m using F5 to Build, F6 to Upload, and F7 to Monitor.

To enable syntax highlighting on .ino files, add a new entry for *.ino files in Preferences | File Associations and set the Language to C++.

This setup gives me a good set of features I want, including the ability to:

  • Edit files with a full-featured programmer’s editor.
  • Perform the most used operations with keystrokes or GUI bits.
  • Create projects to encapsulate all relevant project files.
  • Navigate to all relevant project files from within the same environment.
  • View the results of building, uploading, and cleaning the project in the same environment.

Features notably absent are syntax checking and code completion. Komodo doesn’t currently parse/compile C/C++, so adding these features may be possible, but it won’t be easy.

Battle of the Arduino Makefiles

scale-model-reenactment

So, I’m shopping for alternatives to the official Arduino IDE that better suit the projects I’m working on. In this installment, I look at two promising Makefile implementations to see if either come through as a workable solution. One of the attractive things about a Makefile approach is that you should be able to wire it up to your favorite editor du jour.

Continue reading “Battle of the Arduino Makefiles”

Arduino IDE alternatives

arduino-uno

My Arduino work has gotten to the point where I find the official IDE a little constraining. I’m not alone in this. A quick search will reveal that there are lots of people working on different approaches to making the development process more scalable and otherwise more powerful. Some are developing alternative IDEs, some are working on integration with existing IDEs, and yet others are working on Makefile and Cmake based scripted solutions.

It’s important to remember that Arduino was intended for use by designers and artists—and to leverage as much as possible what those users were already used to with Processing. The official IDE succeeds remarkably in that, something for which the developers must be congratulated. The fact that more advanced users are seeking other ways to develop for the platform is in fact a testament to the success of the overall design.

<flame>In spite of this, there is a (tiny?) cult of people who find sport in bashing the official IDE for <insert sin here>. It’s important to remember that Arduino wasn’t designed for you. The reason that Arduino is as successful as it is—the reason the community is so large and diverse, the reason there are so many libraries for tackling the kind of things you want to do, the reason the hardware is so plentiful—is because the people behind it made it as accessible as they did. So, please dial down the negavibes and be happy to be part of a community that will (let you) build (advanced) tools for your favorite tools.</flame>

An incomplete list of completely unvetted libre alternatives for Linux includes:

There is a page at the Arduino wiki on the subject as well. Some of the alternatives listed above appear abandoned and/or otherwise obsolete, so caution is advised.

In the upcoming days, I’ll be working with these options to try to find something that better suits the scale of the projects I am now working on. I’ll report back anything interesting.

Box jointing

box-joints-closeup

I spent the afternoon with the muy talented Jason Holtz learning the inner secrets of box joints. Jason is a master woodworker and furniture designer with clients all over the country. I seriously recommend you check him out if you’re looking for custom or prototype work.

I’ll be turning the above into something more interesting in the upcoming days (i.e., weeks). Stay tuned.

Meanwhile, back in Istanbul …

istanbul-skyline-2014-21

I’ve been in Istanbul for the last week or so. It’s been about a human gestation period since I was last here, and it’s unmistakable that the trend of building more, higher, and brighter has continued unabated.

Pastiche is an approach that’s not uncommon to new-money endeavors, and it’s no surprise that it’s common here. The biggest source of inspiration for the new designs seems to be iconic government projects, large-scale residential structures, and skyscrapers from Russia, Germany, the Netherlands, and other European countries whose cities are built on Cartestian street plans.

istanbul-buildings-2014-08The biggest problem with this is that almost nowhere in Istanbul are streets Cartesian. Nor are they radial. Rather, the streets and highways of Istanbul were determined, as one historian put it, by topography. Which is another way of saying that Istanbul’s roads developed in a very ad-hoc fashion. Some think it lends the city some of its charm.

What this means for the increasingly dense structure of new and tall buildings—already a mishmash of pastiche—is that each has a different orientation. You don’t get rows or arcs of buildings; rather you get a hodgepodge of orientations that the hodgepodge of styles simply aren’t suited to. Nothing relates to anything. Little islands of egocentricity and local optimization. An underscoring of the chaos of life in Istanbul.

Whether this will end up increasing the city’s charm remains to be seen.