Ethan Osbornejweber76
Published

The Copper Wire Hand Controller

A game controller made out of cardboard and copper wire to play video games with!

BeginnerFull instructions provided6 hours90
The Copper Wire Hand Controller

Things used in this project

Hardware components

Circuit Playground Express
Adafruit Circuit Playground Express
×1
Rechargeable Battery, Lithium Ion
Rechargeable Battery, Lithium Ion
×1
Copper wire
×1
Cardboard
×1
Velcro
×1

Software apps and online services

MakeCode
Microsoft MakeCode

Hand tools and fabrication machines

Scissor, Electrician
Scissor, Electrician
Tape, Electrical
Tape, Electrical
Pencil
Sharpie

Story

Read more

Custom parts and enclosures

Video Demonstration of Controller

A 5 minute long demonstration video of using the controller and it actually working/ being used to play a video game.

Schematics

Strange Controller Code Visual

A picture of the code used in Microsoft Makecode

Code

Strange Controller

JavaScript
A series of buttons mapped to keys with a corresponding light to go with each of them for testing purposes
input.buttonA.onEvent(ButtonEvent.Down, function () {
    light.setPixelColor(1, 0x000000)
    keyboard.key("g", KeyboardKeyEvent.Down)
})
input.buttonA.onEvent(ButtonEvent.Up, function () {
    light.clear()
    keyboard.key("g", KeyboardKeyEvent.Up)
})
input.buttonB.onEvent(ButtonEvent.Down, function () {
    light.setPixelColor(9, 0xffffff)
    keyboard.key("h", KeyboardKeyEvent.Down)
})
input.buttonB.onEvent(ButtonEvent.Up, function () {
    light.clear()
    keyboard.key("h", KeyboardKeyEvent.Up)
})
input.buttonsAB.onEvent(ButtonEvent.Down, function () {
    light.setPixelColor(5, 0x0000ff)
    keyboard.key("j", KeyboardKeyEvent.Down)
})
input.buttonsAB.onEvent(ButtonEvent.Up, function () {
    light.clear()
    keyboard.key("j", KeyboardKeyEvent.Up)
})
input.pinA1.onEvent(ButtonEvent.Down, function () {
    light.setPixelColor(6, 0xff0000)
    keyboard.key("k", KeyboardKeyEvent.Down)
})
input.pinA1.onEvent(ButtonEvent.Up, function () {
    light.clear()
    keyboard.key("k", KeyboardKeyEvent.Up)
})
input.pinA2.onEvent(ButtonEvent.Down, function () {
    light.setPixelColor(8, 0xff8000)
    keyboard.key("a", KeyboardKeyEvent.Down)
})
input.pinA2.onEvent(ButtonEvent.Up, function () {
    light.clear()
    keyboard.key("a", KeyboardKeyEvent.Up)
})
input.pinA3.onEvent(ButtonEvent.Down, function () {
    light.setPixelColor(4, 0x00ff00)
    keyboard.key("w", KeyboardKeyEvent.Down)
})
input.pinA3.onEvent(ButtonEvent.Up, function () {
    light.clear()
    keyboard.key("w", KeyboardKeyEvent.Up)
})
input.pinA4.onEvent(ButtonEvent.Down, function () {
    light.setPixelColor(2, 0x00ffff)
    keyboard.key("d", KeyboardKeyEvent.Down)
})
input.pinA4.onEvent(ButtonEvent.Up, function () {
    light.clear()
    keyboard.key("d", KeyboardKeyEvent.Up)
})
input.pinA7.onEvent(ButtonEvent.Down, function () {
    light.setPixelColor(3, 0x7f00ff)
    keyboard.key("s", KeyboardKeyEvent.Down)
})
input.pinA7.onEvent(ButtonEvent.Up, function () {
    light.clear()
    keyboard.key("s", KeyboardKeyEvent.Up)
})

Credits

Ethan Osborne
4 projects • 2 followers
Contact
jweber76
4 projects • 1 follower
Contact

Comments

Please log in or sign up to comment.