Sim Racing Library for Arduino

Simulator racing tech is amazing. It’s an entire genre of human input devices designed to transform your home desk into the cockpit of a racecar. Wheels, pedals, shifters, handbrakes, gauge clusters, wind generators… you name it, you can find it for your home racing rig.

But with all of the hardware necessary for a comprehensive simulator experience, sim racing is expensive. To try and make it more accessible, communities of makers have sprung up to design their own custom racing devices and adapters built from scratch. Owning a bit of sim racing equipment myself, I thought I would join in on the fun and design a software library that makes it easy to interface sim racing devices with embedded development boards. Introducing the Sim Racing Library for Arduino!

(more…)

FastLED NeoPixel Library

Here’s a solution to a niche problem: what do you do if you have an animation written for the Adafruit NeoPixel library but want to use some of the more advanced features of the FastLED library?

In the past that would mean rewriting a significant portion of your code! You would need to research the corresponding FastLED command for every Adafruit NeoPixel function, then modify your program line by line. This requires a working understanding of how both libraries work and how LED data is managed and manipulated.

Now the answer is simple: you can use the FastLED NeoPixel library!

(more…)

OBS Studio Audio Track Hotkey Script

In December of 2020, OBS Studio update 26.1 was released and introduced a brand new feature: the ability to select which audio track is stored in the recording (“VOD”) of your Twitch stream. This gives streamers the power to separate audio feeds between what is broadcast live and what is stored for offline viewers. This is particularly useful for streamers who play rhythm games with copyrighted music and are looking to avoid DMCA strikes on their recorded or clipped content.

These track settings are straightforward for those that exclusively stream that sort of content, but doing these changes on the fly can be a pain for those who switch content types mid-stream. You need to open the “Advanced Audio Settings” GUI window, click the check boxes to change the selected audio tracks for the necessary sources, and then close the window.

I wrote a script to make things easier by mapping the audio track options to configurable hotkeys.

(more…)

Modifying an RC Controller to Play Forza Horizon

I’ve always been fascinated by RC cars. The dynamics, the engineering, the speed… all wrapped up in a package that you can hold in one hand. Almost more than the cars themselves I’ve always loved the remotes. Ever since I watched Back to the Future and saw that awesome modded Futaba remote I’ve been captivated by the possibilities contained in one of those mystical black boxes. I was playing a racing game the other day when the idea came to me: what if I could modify an RC controller to control a racing game?

And just like that, I decided to convert an RC controller into a gamepad to play Forza Horizon 4.

(more…)

How to Use an RC Controller with an Arduino

Whether you’re modifying a remote controlled vehicle or creating something completely new, Arduino boards are a great way to expand the functionality of your RC receiver. Adding a microcontroller lets you program complex logic functions, sound effects, lighting animations, and more – all managed from the comfort of a wireless remote.

In this tutorial I’m going to show you how to connect a PWM-based RC receiver to an Arduino and read data from it using the Servo Input library.

(more…)

Twitch Chat OwO Browser Extension

The news is currently very bleak. Just the pandemic alone is enough to make you want to never read the news again. Thankfully there’s a solution: “Bweaking NuwuS” (@BBCBweaking), a Twitter account that posts news stories passed through an “UwU” kaomoji filter to make them “cutesy”. The result is some serious dark comedy, with posts about corruption, sickness, and death translated into something exceedingly saccharine.

After reading a bit about the automation behind the news account, I thought it would be fun to do something similar and make a browser extension to convert Twitch chat into “OwO”-speak on the fly.

(more…)

Making an OBS ‘Mute’ Indicator

I have a friend who likes to stream on Twitch, and he has a problem. Every hour or two he likes to be healthy and take a five minute break – standing up, stretching, going to the bathroom, etc. During this time he mutes his microphone and puts on some background music to keep the audience entertained. But when he comes back he frequently forgets to unmute his microphone so that the stream can hear him. It’s not unusual for him to be talking to himself for five minutes or more until some kind soul in chat speaks up and says “you know you’re muted, right?”

To help him and others who frequently forget to unmute their microphone, I decided to build a physical indicator for the mute status in OBS Studio.

(more…)