A Gamepad with Personality

What happens when you mix Kawaii with a game controller? JOY! Say hello to our new Circuit Playground character, JOY – the game controller.

An LCD screen is hidden behind JOY's facial features that display pupils in her eyes and teeth in her mouth. Joy's "eye" move and rotate with the position of the 2-axis analog joystick. JOY also randomly blink her eyes.

USB HID Controller

JOY operates as a USB controller when plugged into a computer. The joystick is converted from 2-axis analog to a conventional D-pad (up, down, left, right). The action buttons are mapped to keyboards letters (such as W, A, S, D) but can be mapped to any characters, function keys and modifiers.

JOY doesn't have to be a game controller, she can control any number of software or media such as youtube, photoshop, premiere, Ableton live, etc anything that a USB keyboard can do.

Building Joy

At any skill level, soldering wires to breakout boards and 3D printing take up the majority of the build. I estimate the project build to about 2-3hrs, suggest for a weekend. So if you're a beginner or novice, building this project entails soldering, wiring, modifying and uploading code. 

I recommend walking through the guide before committing and buying all of the parts. As a thoroughly documented tutorial, some "micro steps" and terminology are assumed.

Prerequisite Guides

If your new to electronics and the Adafruit Feather M0 Express, I suggest you walk through the following guides to get the basics. The Adafruit Feather M0 Express guide will walk you through setting it up with CircuitPython.

Parts & Components

You'll need just a couple a parts to build this project. You have the option to choose from two Adafruit Feather M0 boards. You also can choose different batteries (capacities).

1 x Feather M0 Express
1 x Soft Buttons
8mm buttons
1 x Thumb Joystick
Breakout with Thumb Joystick
1 x 1.44 TFT Display
Color screen
1 x Slide Switch
on/off switch
1 x 500mAh Lipo

Hardware Machine Screws

The electronic components are secured to the 3D printed enclosure using metric machine screws. I used Phillips flat head style screws that are ~5mm in length. These low-profile screws can be purchased from your local hardware store or online retailers like Albany County Fasteners or McMasterCar.


  • 10qt – M2.5 x 0.45 x 5mm
  • 4qt – M3 x 0.5 x 5mm

Tools & Supplies

Hardware, cutters, solder, wires, that sorta thing.

10 x M2.5 Machine Screws
Phillips Flat Head Machine Screw A2 SS M2.5 x .45 x 5MM
4 x M3 Machine Screws
Phillips Flat Head Machine Screw A2 SS - M3 x .5 x 5MM
1 x 30AWG Wire
Silicone Cover Stranded-Core Wire - 30AWG in Various Colors
1 x Solder Wire
Solder Spool - 1/4 lb SAC305 RoHS lead-free / 0.031" rosin-core - 0.25 lb / 100 g
1 x Heat Shrink Tubing
Multi-Colored Heat Shrink Pack - 3/32" + 1/8" + 3/16" Diameters
1 x Mounting Putty Tack
Loctite Fun-Tak Mounting Putty 2-Ounce

Cool Tools!

These things really do help make building the project smoothly. You don't need them all of them, but I recommend them.

1 x Ultimaker 3
3D Printer
1 x Wire Strippers
Hakko Professsional Quality 20-30 AWG Wire Strippers - CSP-30-1
1 x Wire Cutters
Flush diagonal cutters - CHP170
1 x Soldering Iron
Adjustable 30W 110V soldering iron - XY-258 110V
1 x Panavise
Panavise Jr. - PV-201
1 x Helping Third Hands
Helping Third Hand Magnifier W/Magnifying Glass Tool - MZ101

This guide was first published on Oct 04, 2017. It was last updated on Mar 08, 2024.

This page (Overview) was last updated on Mar 08, 2024.

Text editor powered by tinymce.