I want to write a few posts about programming AMX NetLinx controllers. While I started my career programming AMX systems, I’m lucky now if I see 1 or 2 in a year. Strangely, every time I’ve started with (or returned to) a company, I’ve been handed a NetLinx system to figure out. It’s sort of a welcoming return to AV because programming in the NetLinx language is well-suited to automation tasks and something about it brings me joy.
Continue reading “NetLinx: Getting Started”Category: av
Setting Up the AV Programmer for Success
Nice post on rAVe Pubs from my old colleague and friend, Murphy Daley.
www.ravepubs.com/setting-up-av-programmer-success/
Thank you, Murphy!
Into the Cloud!

CH5: My Thoughts
After converting one minimal layout to CH5, I should be an expert, right? I purposely waited a week so that time would temper my emotions a bit (I was a little frustrated by the end of the last post). I wouldn’t say I’m going to give it 10,000 hours, but I think it’s only fair to invest some more time than I initially gave it. This could be a decent framework for converting touchpanel layouts, maybe I just need more exposure.
Continue reading “CH5: My Thoughts”The Future of AV Programming: Part 5
It’s been about a year since the last time I thought about where AV programming is headed. The world was a different place then. COVID-19 has caused the shutting down of shared workplaces, diminishing the need for complicated spaces even further than before. What’s a programmer in the AV industry to do?
Continue reading “The Future of AV Programming: Part 5”CH5: Full Project
tl;dr Yes, I actually go through each page of my mock up and try to make it work in CH5 so there’s a lot of HTML, CSS, and JavaScript in this post. I really wanted to link to a GitHub repo so you could download the files and follow along, but Crestron puts a copyright notice at the top of every generated file saying you can’t distribute them. So to be safe, I’m only including the bits here that I rewrote. Also, I plan to write a follow up post to this one that explores my thoughts trying to use the CH5 framework, so that might actually make for a better read anyway. But, if you want to follow my struggles trying to hammer HTML and CSS into shape, be my guest…
OK I think we’ve toyed around enough and can jump in feet first to CH5. In this post, I’m going to create a full touchpanel layout using Crestron’s Shell Template. We’ll focus on the look and feel in this post and deal with the control side later. That way, we don’t have to continually load to a touchpanel just to see if what we’re doing looks correct.
Continue reading “CH5: Full Project”CH5: Back to Basics
Now that we’ve built the sample project and loaded it to a touchpanel successfully, let’s break it! I’m going to be referencing Using the Crestron Template Project to dive deeper into the code.
Continue reading “CH5: Back to Basics”CH5: Getting Started
I haven’t thought about Crestron’s HTML5 since attending Virtual Masters last year. At the time, I was very eager to learn the next generation of UI development. My enthusiasm was squelched a bit when I realized:
- I needed a TSW-xx60 panel to test with (CH5 XPanel wouldn’t be released until February 2021 it turns out)
- I could use the JavaScript emulator library, but then you end up doubling the amount of work to test a panel layout
- My limited understanding of web development was not enough to separate the CH5 bits from the underlying framework
- Crestron didn’t anticipate an audience that had never touched modern JavaScript
So, I filed it away and decided I would return to it once I had time to spare. So here I am, 10 months later (with an actual TS-770 now) and ready to learn some CH5!
Continue reading “CH5: Getting Started”Easy Insurance for $10
I highly recommend purchasing an external SD card for your Crestron processor. They’re cheap and will increase the lifespan of the flash memory built into the processor. This one was only $10!

You can even setup logging to write to it instead:
> FORMAT
> RMLOGERR ON NOTICE
> RMLOGERR
RMLOGERR status:
Current Log State is ON
Current Log Name is /rm/RMLOGS/Crestron_00.log
Current Size is 262144
Current Number of files is 1
CP3 vs CP4
I wanted to see how much faster the CP4 is versus the CP3, so I wrote a small benchmark program to count prime numbers between 2 and some number. I’ve added a FINDPRIMES command to the console so I can test a few ways. Here is an example running on a CP3:
findprimes 20
2 3 5 7 11 13 17 19
Found 8 primes in 00:00:00.0005093
After testing each number between 2 and 20, the program found 8 that are prime, and it took 509.3 microseconds from start to finish.
Continue reading “CP3 vs CP4”