What is "charlieplexing"? (a short demo using the Raspberry Pi)

While I was reading Raspberry Pi Cookbook, I came across a few things that looked interesting to demo. One of them was the concept of “charlieplexing“. On past projects, when I needed multiple LEDs (like in my Simon clone), I just connected each individual LED to its own GPIO pin. I was fully aware that current had to travel through the LED in one direction and that it wouldn’t light in the other direction, but it hadn’t occurred to me to take advantage of that fact. This is where charlieplexing comes in – we arrange multiple LEDs such that »

Creating Your Own Indoor Vegetable Garden

Since building my first raised garden bed a couple years ago (there’s a second one next to it now), I’ve really enjoyed growing our own veggies. It’s a fun project if you’re into that sorta thing – fairly easy to setup, cathartic in its rhythm (weed, water, harvest, repeat…), and the payoff half-way through summer is a lot of fresh snacks! Pretty much every weekend… End-of-summer harvest of basil We had lots of caprese salad! It can be a good activity for the whole family too. Most of the work is on me, which is fine since »

Creating My First Google Chrome Extension – Part 3

PART 1 | PART 2 | PART 3 I was looking forward to wrapping this extension up within the first couple days of xmas break (my workplace shuts its doors between Christmas and New Year’s), but then every single one of my kids got sick in turn. All of them. It was a crappy week. But now it’s finally done (I also wrote about it here and here), and I can generate bookmarks from Pinboard tags the way I wanted. All in all, a good learning experience. If you want to check it out, it’s in the Chrome store. »

Creating My First Google Chrome Extension - Part 2

PART 1 | PART 2 | PART 3 I started writing my first browser extension a couple weeks ago, and though my spare time has been pretty limited I've made some (never as much I'd like) progress. I left off last time with (finally!) figuring out how to authenticate to the Pinboard API. As with so many things, once I knew the answer I couldn't believe I didn't figure it out sooner. There are a number of reasons it might fail, but in my case I needed to add the API URL to the list of permissions in the manifest.json file. »

Creating My First Google Chrome Extension - Part 1

PART 1 | PART 2 | PART 3 Something’s been nagging me… I’ve been on this kick recently, trying to untangle myself from my reliance on all things Google. Their services are great, and I don’t mean the following to be a rant, but a few things worry me… Should I put all my eggs in one basket? It seems unlikely, but if Google goes down or gets hacked, or sees fit to freeze my account for some reason, I’m screwed from every angle. I lose my email, calendar, documents and photos, contacts, bookmarks, passwords… everything. Wisdom seems »

Connecting an Analog Joystick to the Raspberry Pi (and using it with an RGB LED to simulate a color wheel)

One of the coolest things about the Raspberry Pi is its GPIO pins. They’re just sitting there, waiting to be connected to all kinds of useful peripherals so your Pi can interact with the world around it. Power an LED to signal the user. Place a button in the path of a circuit and detect when a user presses it. Attach sensors to read temperature and humidity, and plug other cards like the Sense HAT over top of the pins. A few months ago, I got a set of 37 sensor modules on Amazon. I knew they wouldn’t »

Creating a Flickering Candle Using an RGB LED on the Raspberry Pi

After getting PWM (pulse-width modulation) to work with an RGB LED last week, I was trying to think of what else I could do with an LED that demonstrated changes in color as well as intensity. I’m not sure why – maybe it was because we lost power in our neighborhood recently – but I thought a flickering candle could be an interesting little challenge… Materials In order to test this out, you’ll need a few things. An RGB LED A button A breadboard A T-cobbler (optional, but makes life easier when wiring up to GPIO pins) A range of »

How to Use an RGB multicolor LED with Pulse Width Modulation (PWM) on the Raspberry Pi

If you buy a kit with random LEDs, wires, switches, etc, like this one I purchased from CanaKit, you’re likely to end up with one or two of those funky little LEDs that appears to be white, and has 4 wires instead of 2. I had set mine aside and made a mental note to figure it out later… well, I’m bored with regular LEDs so that time has come! It’s a special kind of LED that consists of 3 separate LEDs… red, green and blue. By adjusting each color independently, you can create any color (similar »