[ do default stuff if no widgets ]

Archive for the ‘Updates’ Category

New Linux Repo

Friday, September 14th, 2018

Today, I’m saying goodbye packagecloud. They had an amazing unique service that solved a huge headache. I spent a lot of time trying to host my own repositories, and it was too much of a headache to constantly keep up. Packagecloud was an amazing, affordable service that solved this problem with elegance. But they decided to tripple their price which made the service no longer worth it.

So today, I’ve changed my build system, installation instructions, and scripts to use gemfury. A great alternative and free for public packages.

You can head over to the linux downloads section, and re-run the installer script to add the new repository. Sorry for the inconvenience. More announcements next week, stay tuned.

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.


Software and SDK Updates

Thursday, August 17th, 2017

Software v2.6.0 Released

Version 2.6.0 of the GUI has been release. In this version there are two updates, new firmware version, and the ability to enable / disable built in profiles. Under advanced, you can now enable and disable each profile independently. This feature was done and promised for nearly a month, and we decided the feature, problem, and solution were novel, so we filed a patent. In order to try and protect anything globally, we couldn’t release the software until after the patent filing.

Firmware v4.2.1 Released

Also included in this version is a new firmware which will allow sending of RAW IR signals as outlined in the previous blog post.

SDK Updated

Kinda botched the original release with a ton of garbage commits as I got all my build software working. So I scratched it and started over. Also included in this version are static and dynamic libraries for Windows.

SDK Release, Linux, RPi, IR Transmit Support

Sunday, August 6th, 2017

Linux Updates

Over this past week I’ve re-written my linux deployment scripts. It was brought to my attention that things weren’t working right. A number of errors related to packages not being signed and trusted, which was fine on older versions of linux, but newer versions of debian weren’t having it. Also in combination with the released of the SDK, this had to get done.

I’ve also cleaned up the installation instructions and am now building standalone versions for users without debian. Not quite enough time to try and do RPM support, but it is planned. This should be more than sufficient for now. I’ll need to throw some instructions in the standalone version, but at least I have something up versus nothing at all.

You can find all this on the linux downloads page.

Raspberry Pi Release

As part of the linux deployment scripts, I’ve also taken the time to do one for the raspberry pi. Now the raspberry pi has it’s own apt repository, commandline version, and GUI. Long overdue. This was also a necessary step in order to build a static library for the released SDK.

SDK Release

We build all the flirc software around the SDK. So everyone can grab the SDK on the Flirc github page.

Needed is a lot of documentation. However, this is 99% identical to the same flirc_util cli that ships with the GUI. The only thing that’s not identical is the version command, which I’ll address later. But it serves as a complete example to integrating flirc pairing into your own application.

The libraries will be updated as part of GUI releases. It’s all part of the same build scripts. You’ll notice a lot of erroneous commits, that was just me working on my deployment scripts. That will stop.

Still needed is a python/perl wrapper, dynamic libs, a windows lib, and some better documentation.

IR Transmit Support

One of the new features on the new flirc is the ability to transmit IR code. There is a very small transmitter in flirc, it’s power isn’t the best, but it could certainly be useful for some home automation. I have some better features planned regarding this, but for now, an initial release is ready for users to start playing with. It only works with raw code right now and doesn’t understand protocol. The format is a comma delimited list of edges, that coincidentally can be retrieved with the GUI. Enable IR Debugging, hit a button on your remote, and you’ll get your list of edges. The :e:<num> is the delay in ms seen between packets. A big number means you haven’t hit the button in a while.

The latest API supports sending IR through a simple interface:

The commandline also supports sending a packet out with the exact list of edges seen.

Example code in the SDK is fairly straight forward, it parses the list of comma delimited edges, checks for errors, puts it in a buffer, and calls the api:

For the IR transmit to work, you’ll need firmware version v4.2.+

I’ll post this in the forums somewhere, or you can email me, but I expect to release this publicly in about a week after I do some more testing.


Updates Updates and Updates

Saturday, July 8th, 2017

Big Developments

Was a great couple of weeks. I’ve been working hard on some major efforts and they are all starting to come to fruition.  I’ll share some of the more exciting news.

New Flirc Raspberry Pi Case

I know we don’t have a landing page for the new case design yet, but all new orders of the case will be of the new design. Some big improvements:

  • New manufacturing process, it’s gorgeous, perfect surface
  • SD Card now accessible on the PI3
  • Heat Slug now properly covering 100% of the Pi3 CPU
  • Overall Better

Unfortunately hit a snag with the talented artist who helps with design material for my website. So I’ve fallen behind making a new landing page. It’s coming.


Harmony Support

Logitech is an important partner, a lot of users have logitech remotes. So we’re adding some new profiles to the Logitech line specifically for flirc. Windows Media Center, and Shield. What this means, is if you have Windows Media Center, and a Shield, add these devices to your harmony, and it’ll work out of the box without any additional software or pairing. What’s the difference between Microsoft WMCE and Flirc WMCE? Flirc WMCE uses the flirc profile, and is going to work much better than the Microsoft protocol which is chaotic, and different for every MS WMCE remote.

On top of those profiles, we also added the ‘.’ (period). Something that was requested.

The harmony profiles will go live on Monday.

Firmware Updates

Holy shit where to begin. Some major happenings. I’ll start with Flirc Gen1.


I have made an update to the Flirc Generation 1 hardware that allows software to tell the difference between Streacom Edition Flircs and regular Flircs. This was so overdue, it’s sad. Now, the GUI can tell the difference between the hardware, and users can now finally program the power button with the GUI.


  • new hashing algorithm with 10x perf
  • new logging output architecture
  • ability to log raw timing ir waveforms
  • minor algorithm improvments and bug fixes
  • ability to disable/enable built in rom tables
  • fixed issue which didn’t detect re-pressing
  • adding new Shield and WMCE Flirc profiles
  • updates to built in kodi profile
  • many bug fixes and architecture improvements

GUI Updates

Improvements to the GUI were also published which include:

  • advanced window for gen2 updates and improvments
  • new streacom controller for recording power off
  • New device log window to show the raw timing of IR signals.

One of the biggest updates was to the GUI which allows us to read the device log and enable the ability to print out raw timing wave forms of the IR signals. This is going to be great. Rather than buying a bunch of remotes, users will be able to capture the waveform, save to a text file and send to me. And in the near future, I’ll be able to load these files onto a flirc, and ‘playback’ exactly what your flirc saw. All made possible to the amazing software architecture in the new flirc as well as the new more powerful arm processor.

App Pad

App Pad is an application that will hopefully be released in a couple of weeks. Wont say much until the big reveal, but it’s going to be one of the greatest companions HTPC owners could ask for. And it’ll be completely free. Stay tuned.

Remote IR Protocol

I will be publicly releasing the Flirc IR spec shortly. I’m working on converting this into an open doc.

IR Transmit Support

Working on this now, it’ll be in the next major release


Long overdue and in progress

Flirc Kodi Case

Because we released a new version of our raspberry pi case, and boy is it awesome, we’re discounting the kodi cases since they are based on the original design. Get em while you can.

Firmware, GUI, Company Updates

Friday, June 16th, 2017

It’s been a very busy, exciting, and challenging year. I’ll give some broad updates and focus on some of the smaller details. I’m trying to be a bit better at what I’m working on, so I’m actively updating a new status board page.


  • We welcomed our beautiful new daughter Lily Coco Kotzin into the Flirc family and team.
  • I moved the business out of the home and into an office. We’re in a great location, and it’s got plenty of room to grow.
  • Had a booth at Maker Faire in the bay area.
  • Flirc Gen2 has had a number of fixes and improvements (more later)
  • GUI Updates
  • Finally Wrote a Manual.
  • Backend Website improvements for our new product we hope to release later this year
  • Flirc Raspberry Pi Gen2 Case should be arriving to headquarters soon

All of these things within itself were major feats. I especially want to give a loving thank you to my amazing wife, who made Maker Faire possible, and without, there would be no Flirc. She gives me constant encouragement in the hardest of times, which grow in difficulty as the company grows in size.

All these release notes can be found on the Downloads Page under What’s New.

Firmware Updates

Since the release of Flirc Gen2, there have been countless challenges. A number of issues have come up that are rare, and nearly impossible to reproduce. Rather than focusing on firmware features, I’ve been hard at work solving some of the most technically challenging problems I’ve faced. If you haven’t gotten the new firmware, please do, it’s a must. Since the release, here are the main updates

  • Fixed a rare issue on windows that wouldn’t wake up the machine
  • Performance improvements
  • Algorithm improvements
  • Bug fixes
  • Fixed stuck keys
  • Fixed NEC repeats
  • Fixes for button already exists issues
  • Will wake up the machine in S2 and S3 states now too
  • Windows media center support fixes
  • Working on PS3/PS4 fixes

Things are looking good with the current release. So I’m back to working on architecture, and feature planning. To help solve customer related issues, I’m working on some improvements to save all IR signals in your room. The intention is to basically record everything that’s seen in your room in the infrared spectrum, and then reproduce it in the office so I can get to the bottom of why our unit might not be working. Right now, I basically have to buy your remote. I wont need to do that anymore. One of the resulting features that comes from this is the IR transmitter on Flirc. Work has begun on that, and I’m excited where it’s going.


I’m also fully engaged trying to bake in Flirc support on Inteset remotes. Flirc has it’s own special IR protocol, which will guarantee not to conflict with anything else in your living room. This infact will be the same protocol the harmony remotes use.

New Built In Protocols

I’m working with both inteset and harmony to beef up the current profiles. I’d like them to add the following:

  • NVIDIA Shield
  • Plex
  • PS3/PS4
  • WMCE
  • XBox

Because the protocols are my own, I wrote some code to generate all the key codes needed. So in fact, I will release a firmware update before them that will add these devices to everyone’s flirc, and they will be supported once logitech and inteset add the codes to their databases.

Algorithm Improvements

Huge improvements were made to the algorithm today that baked in a 10x hashing performance. This is huge, and a much needed and welcome addition. Since I do my hashes in interrupt context, I needed to speed this up. This was actually a needed addition before I add remote buddy support.

GUI Updates

  • Fixed issue where firmware can be stuck in bootloader
  • Fixed a lot of issues which would cause device to show up as ‘disconnected’
  • Advanced window for gen2, shows device sku
  • Gen2 can now do ‘force upgrade’ in advanced (Good for testing out firmware and reverting back to Stable)
  • GUI intelligently shows firmware update release notes
  • Major bug fixes
  • Controller updates (WMCE)
  • Many many more (see the release notes)

One of the biggest issues I face is letting users know of new firmware updates. I have a couple ideas to fix this.

I’ll be a bit better at blog updates, and try and post bi-weekly.

Here is a pic of the family at Maker Faire, Thanks to everyone who stopped by. It’s always a pleasure and treat when someone walks by the booth, does a double take, and says, “hey! I have one of those!”

GUI and Firmware Updates

Monday, February 13th, 2017

Been pretty busy fixing bugs and pushing updates.

It’s pretty important at this point to grab the latest version of the GUI and update your second generation flircs. I’ve fixed a number of bugs, as listed below


  • fix stuck key syndrome
  • Better NEC repeat support
  • fixes issue when host wakes from sleep (still needs work)


  • ability to show firmware differences between version_x and version_y.
  • NVIDIA Shield addition
  • XBOX remote should not have go button
  • New OS icons
  • fixed an issue with windows upgrades
  • fixed very rare occurrence of firmware getting stuck in the bootloader
  • disable advanced settings for gen2 devices, not supported yet
  • better support for semantic firmware versioning
  • better logging
  • support for loading gen1 configs on gen2 devices
  • lots of bug fixes

Updates are coming regularly. As soon as I solve the last firmware bug, which is the present on waking up from sleep, I should be on to the new features. Make sure you sign up to the news letter or follow us on twitter for announcement to those.

One more thing, Fuck Donald Trump, his corrupt cabinet, and every fucking republican defending him. They look incredibly stupid, keep doing it.

Happy Flirc’ing.

Flircs Shipped and Software Posted

Thursday, December 8th, 2016

Just in time for everyone to get their gorgeous new flircs, the software has been updated to a new major release, v2.0.0

While everything generally will look and feel the same, there are substantial changes under the hood. The GUI and Firmware will be refreshed very frequently, and in doing so, I am looking to hire someone that can help with the front end and push forward new ideas/products.

One of the most exciting new features about the new Flirc is that it we no longer need any windows drivers. No more bullshit with windows and zadig, it’s just going to work. This was done by using a custom HID device and sending data over Report IDs. But it’s so much cooler than that. Months were spent architecting a solution that is abstracted away from the hardware and away from the physical transport. What this means is that we can send packets and data to a device, regardless of weather the physical transport is USB, Bluetooth, Wifi, Serial, I2C, etc. The device just needs a supported stub, and everything just works.

Below is a snippet of some firmware code. This is just awesome. Before, when we wanted to talk to the firmware, we’d have to hijack a bunch of USB crap and everytime we wanted to add a new command, it would be a ton of work on both the host and the device. The below essentially instantiates a command called get version. Every time a new command is received on the device, the handlers are iterated through, and run if found, run. The best part about all of this, is that the code below doesn’t care if the USB packet handler called it, or some other transport. Why this is important will be clear down the line as we release new products.

The new flirc and software fully embraces this philosophy of portable code. The entire firmware is architected using a modular approach. All the code that makes flirc, flirc, is done in ANSI portable C, completely done outside the notion of the hardware that it’s running on. The firmware was over a year of planning and can run on hardware outside the processor chosen. We can switch on a whim’s notice if needed.

I will also be working on solidifying and publishing the API, and fixing up various aspects of the site that have been lagging.
Just a note, that the sparkle self updater on mac is currently broken. I currently believe this is due to an incompatibility in Sierra, and I will need to update the embedded library. I will be looking at this shortly.

Also currently not up to date are the statically compiled linux builds. These will be posted within the next 24 hours. The ubuntu, linux, and mac releases are all the latest. Write in for any trouble here:

New Release Candidate, built in Amazon FireTV Controller

Monday, September 15th, 2014

Head over to the forums and try out the latest release. Firmware 3.0 is shaping up nicely, a ton of stuff was fixed, and I’ve got a beautiful amazon firetv controller in the GUI to help you pair your remote to use with the amazon firetv.

Screen Shot 2014-09-15 at 11.32.15 PM

New 3.0 Beta FW

Saturday, August 23rd, 2014

I wanted to make a short announcement that I have a very stable 3.0 firmware release available to try. I’m extremely comfortable with the stability. I’ve re-written nearly everything, abstracted functions away from hardware, have a new algorithm that suppresses noise, support MCE remotes (finally), and more.

Anyone who’s eager to try it can visit the related forum page:

Or wait a week or so until it’s public. You’ll need to be a community member, any and all feedback is welcome and appreciated.