Archive for the ‘Development’ Category

Flirc Just Got a Shit Load Cooler

Monday, December 25th, 2017

Long Presses and Macros Released

By far the coolest update for flirc, was today. Everyone’s flircs just got a lot cooler. Today, I’m happy to announce the addition of long presses and macros. Two features that I’ve been planning on for quite some time, and they are definitely worth the wait.


Macros allow you to assign more than one function to a single remote control button. Basically, I can have a string of text or a bunch of commands, etc, all execute when I press a single button on my remote. That’s now possible with todays firmware. There is currently no limit on the amount of buttons, but you might see some issues with anything more than 16. We can always change that, the limit is artificial right now.

Long Presses

Some of my favorite remotes don’t have a lot of buttons. Specifically, the apple remote. This update will allow you to assign a second function on any remote control button if you hold it down for more than half a second. Tapping on the button as normal will do the first function, holding it for half a second will not send out the first function, but send out the second.

Long Presses + Macros

You can also combine the two features. Press a button and have a single action, press and hold that same button, and do a macro. Check out the short demo video


Worthy Notes

  1. There is currently no GUI support for these two features. This is going to be quite tricky to do, so although the software and API’s are all well thought out, I’ll need a bit of time before these can be standard in the GUI. For now, you’ll need the command line utility, and documentation on how to do these features can be found in the current manual.
  2. To do a long press, you have to hold down the button for half a second, this is currently hard coded, might change this in the future
  3. Macros keys are all sent out as soon as possible, may update this so users can change these timings
  4. Deleting a key that has macros or long press functionality will delete every single key associated with that remote control button.


Other Updates

Plugin Support

One of the coolest silently released features was plugin support. All thanks to Yawor who did all the work. He did a fantastic job, and has posted a few items on the forums. This will be formalized into the release soon, and more documentation will be created. Basically, this allows you to create an SVG and XML file, and the graphics and functionality will be dynamically loaded into the GUI. Users will be able to share theirs to help other setup unique setups.

General GUI Improvements

Also thanks to Yawor, a lot of the important GUI items have been re-written to be a bit more dynamic and cleaned up a lot of issues. I’m in debt for his help, he’s a fantastic engineer.

Hosting Updates

I’m giving up on hosting packages. It’s a pain in the ass and took a lot of time and work. I found packagecloud and they take a lot of the work out all the security related issues. If you have the old repo in your distro, make sure you remove that and install the new ones. You can find instructions on the downloads page.

Build Updates

I’ve migrated all the build and release to travis, which although a bumpy start, was absolutely the right thing to do. It’s not a great idea to do build releases on a development machine for many reasons, but I held all the tools on my laptop. No other employee or partner could do a release without me, that’s no longer the case.

SDK Fallen Behind

Because we have everything built on Travis now, the SDK library build and release tools have fallen behind. I should have these built into travis by next week or shortly after.

Raspberry Pi Version Behind

Not quite sure how to do pi release yet on travis, so those have fallen behind. I’ll manually update these versions soon.

Happy Holidays

A very happy holidays and a happy and healthy new years to everyone. Feel free to leave comments, shoot me emails, or start forum discussions.


Behind The Scenes

Monday, November 18th, 2013

It’s probably easy to assume that there isn’t much going on with Flirc. The website doesn’t get updated much, I’ve fallen silent on the blogs, etc. Usually when this happens, I’m hard at work and don’t have a second for an update. Things are finally settling down. I mentioned I had a bug in my latest bootloader, I will publish the blog post detailing this. I’ve fixed that, and was hard at work for over two months re-writing a lot of code. Check out the git activity. Nearly every day I was pushing a substantially large amount of code to the main repo.

Github TrafficPlease remember, I’m nearly doing everything alone. I have a couple friends that help but their support is minimal. I work full time, and am also a new father. Every second of free time I have goes to this company. I know all my work has been mostly behind the scenes, but things will start to be a bit more obvious soon.

Two new products coming out that are variants of flirc will make a splash in the markets they were created for.

I’ve certainly learned a lot since Flirc has been created. I couldn’t have dreamed of the scaling problems that I’ve had. It hasn’t all been on manufacturing and the physical product aspect. I’ve had that under control for quite a while now. It’s been on the software side. I didn’t imagine how the firmware and code base would grow. It started out as some firmware with a sister application. It’s grown to a massive amount of code with shared libraries between products, abstraction to take care of different versions, and a build system that would make any huge company jealous. Deploying packages is easy now that I’ve integrated a tool called bart.

It’s been fun, and I can’t wait to show off what I’m working on.


555 Timer Guts and Kit

Saturday, August 31st, 2013

The 555 timer is a staple in electronics. From hobbyists to evil mad scientists, it’s simplicity of internal components allows for a wide array of complex use cases that has all of us engineers using the device over and over again. Universities design courses around it because it demonstrates the amazing things you can do with the simple fundamentals of electronics.

Eric, my good friend, partner, and founder, teamed up with some folks at Evil Mad Scientists to design a board made of discrete components. Since the 555 timer is made of a simple logical blocks, it’s still hard for a student or hobbyist to figure out what’s going on inside those blocks. Here is a block diagram:


Their idea is wonderful. Expose the guts of the device, give the engineer access to the good stuff so they can probe every point in the circuit.


They had the clever idea of making the device look like a blown up version of the chip. Absolutely brilliant, and for those wanting to get into electronics, this would fit beautifully into any educational building block.


Customers, Need Your Help with Sleep Issue

Sunday, September 25th, 2011

I’m calling out for your help regarding an issue effecting a small amount of users. I have been unable to make any progress on some of the other firmware features because there is one major bug that I can not re-produce, and can not solve. I’m spending all my time on this one, so I’m asking for your help.

When you wake your computer up from sleep, and your flirc no longer works and requires you to unplug/plug, then please leave in the comments section the following:

1. Operating System [Linux/Windows/Mac]

2. Operating System Version [Lion/Snow Leopard/Hardy Heron/Vista/etc] (32/64 bit as well)

3. Your Motherboard Manufacturer (If you don’t know, leave your PC Model)

Even if I have talked to you previously, please post a note in the comments section. I need help narrowing this down and will most likely purchase an identical unit.

Great Find to help with development

Saturday, April 25th, 2009

As well as things are going development wise and as much as I want to share what I’m doing, I can’t until the release.

But that’s not to say that I can’t  share the great finds I’m coming across.  

Here are two great sites that explain non verbosely how to quickly make a debian package from source and host in on your own website for people to get with apt-get install.

Building the source into a .deb package

Hosting your own repository

Enjoy, post questions.