I Am the Proud Father of a PiGRRL 2!

I’m proud to announce that I am the father of a PiGRRL 2!

Here’s the little baby:

PiGRRL 2 Learnings

I learned a ton of random electronics and best-practices stuff like:

  1. Don’t jam all the wires and components into the thing and close the lid at the very end…it might short the battery (or worse).
  2. Use magnetic screwdrivers. (Non-magnetic screwdrivers will cause me to die early!)
  3. The amp needs the small screws…
  4. Re-read the instructions at the end to make sure I didn’t miss anything.
  5. Utilize Adafruit support forums (Many many thanks to @adafruit_support_mike).  They are awesome (but, fyi, they only serve customers).
  6. Buy blue AND red wires of all needed sizes (use permanent marker to color wires if you only bought one color).
  7. Alot LOTS of time for Etsy production + shipping.
  8. Ask your geeky friends for help.  They already did this.
  9. Buy the right diameter solder.  (I used solder wire that was too thick and fried both the PCB board as well as the 40-pin header.
  10. Use a decent soldering iron. (It turns out that my soldering iron sucks (learned the hard way). I borrowed one from a friend.)
  11. You can plug in the Raspberry Pi directly even after all the battery stuff has been wired.  (This helped me troubleshoot a battery short I was having…wasn’t sure it would work or kill the whole thing…thankfully it worked!)
  12. Building a basic RetroPie emulator with Raspberry Pi before embarking on this PiGRRL 2 project was definitely helpful, as in that process I learned about flashing the SD card and some other configuration stuff that served me well on this project.A basic RetroPie setup is no simple thing, but it’s a lot simpler thank building a PiGRRL 2 in that the basic RetroPie setup doesn’t require any soldering, battery power, audio, etc.
  13. The RetroPie team is so f’ing cool.  They do this stuff for free and are under a ton of legal stress from all these game companies/copyright lawyers.  ‘Bless them.
  14. The PiGRRL 2 instructions work great for Raspberry Pi 3.  (Do not confuse with the old PiGRRL instructions, which I won’t link here…)
  15. SSH’ing via WiFi saved me thousands, maybe millions of hours.
  16. Cyberduck + SSH is the best way to get roms onto your Pi.
  17. Switch the RetroPie theme and do a bunch of other awesome stuff.
  18. You’ve got to pull hard to disconnect the pitft screen from the Raspberry Pi.  I bent the pins on one pull and thereafter used a flathead screwdriver to wedge it up a side at a time (and slowly).
  19. I invested 50 hours building it and one hour playing it.

Why Build a PiGRRL?

I own a WordPress company.  So why the hell would I want to build a PiGRRL?

A few business reasons, a few personal ones:

  1. I’m considering pivoting The Mighty Mo! to a company that incorporates some home networking services.  Y’all know I’m into open software, so what better way to learn about home networking than to build on Raspberry Pi as opposed to buying an off-the-shelf Nest or whatever?
  2. In the future, I’d like to create a WordPress plugin that can control your home-networking devices.  In many ways I think this is a better solution than phone apps (which I hate to use…).  More on that at a later date.
  3. I believe in exploring curiosities.  Most days I don’t run into any WordPress challenges (It’s not that I’m so awesome…it’s just that WordPress is pretty hands-free these days.)So why not create some of my own challenges to keep myself sharp and to learn a new skillset?
  4. I am curious about and scared of electricity.  I know almost nothing about it, yet it’s all around me every day.

Additional Thoughts

This PiGRRL 2 project was amazing, and I recommend it for anyone who has some familiarity with Raspberry Pi and wants a challenge.  OR it could be cool if you know all about electronics and soldering and want to learn more about the Pi.

don’t recommend it as a starter project for a total n00b.  (For total n00bs, I recommend a simpler RetroPie build first.)

I bought most of my parts from Adafruit and replacement parts from Micro Center.  Amazon has lots of the parts, too, but it’s a bit pricier there and doesn’t come with support. I bought the purple case + green buttons from Etsy (just search “PiGRRL 2 Case“).  I’m not sure I’d recommend buying from where I bought mine…

Here’s my notes with some additional details and links.

How to Vertically-Center the WordPress Login Form on wp-login.php

So once in a lifetime or so, I might want to vertically-center the WordPress login.

Here’s the css:

html {
  height: 100%;
  margin: 0;
  padding: 0;
html body {
  display: table;
  margin: 0 auto;
  height: 100%;
body #login {
  padding: 0;
  display: table-cell;
  vertical-align: middle;


(Read more about vertically-centering login forms.)

The First Plugin I Install When I Launch a WordPress Site

I invested what my wife would describe as “way too much time” this last weekend making some significant improvements to my TMM Dashboard Customizations WordPress plugin.

To be honest, I wasn’t using it, and I think it might be nice to have a plugin that helps me with the initial configuration of a WordPress website (especially speeding up things that are nice-to-haves in the setup process).

This plugin does a number of things:

  1. It removes all the junk from the WordPress dashboard.
  2. It displays my blog feed on the WordPress dashboard.
  3. It removes the WordPress logo from the top-left of /wp-admin/.
  4. It displays a “Help” panel with my contact info on the WordPress dashboard.
  5. It asks me to install of a handful of plugins I use on almost every site (Google Analytics, SEO, etc.). (via TGM Plugin Activation plugin)
  6. It adds functionality to edit the login logo and login background image.
  7. It makes the wp-login.php page cooler out of the box.

Basically, it helps me to do the things I need to do (SEO, Google Analytics) and also helps me do some things I am too lazy to do (login styles, remove junk from the WordPress dashboard).

It stays up-to-date the WordPress way that you already understand by requiring and using afragen’s Github Updater plugin.

Feel free to fork TMM Dashboard Customizations on Github to:

  • Swap in your blog feed url
  • Add your contact info.
  • Add additional required plugins.
  • Surprise me!

See images below.


Ain’t life grand?  Well…mostly? – My dad



I Contributed to WordPress Gutenberg Plugin and So Can You!

I often forget how easy it is to contribute to WordPress software development (even without writing a lick of code).

A week ago, I was trying out the new Gutenberg plugin on a site, and I noticed a little thing that bugged me.

So, without writing any code, I made an annotated screengrab of what I was seeing and shared it with the Gutenberg plugin team.

Lo and behold, my suggestion made it into the plugin core code!

Pretty cool!

WooCommerce to Quickbooks Online

Recently I had to connect a WooCommerce store to Quickbooks Online.

The solution was straightforward – use Zapier.  Here is a high-level overview:

  1. Create a WooCommerce trigger every time an order is placed.
  2. Use the Quickbooks Online action to search for the user and create a Quickbooks Online user if it doesn’t already exist.
  3. Create a Formatter action to get the order total minus taxes. (We do this because WooCommerce & Zapier are idiots when it comes to taxes.)
  4. Create a Formatter action to get the total taxes. (See note in #3.)
  5. Create a Quickbooks Online action to create the sales receipt.

That’s it!  See screengrabs & notes below.


  • This Quickbooks Online verbiage took me a while to understand… In Quickbooks Online, “Sales Receipts” are for automatic orders that are processed by your WooCommerce website.   “Invoices” refers to when you create the invoice manually in Quickbooks Online and click the “Send to Customer” button in Quickbooks Online.
  • As you see above, taxes doesn’t quick work properly.  My solution above is definitely a hack.  Please let me know if you figure this tax puzzle out!