Shantam Bose
Published © MIT

ARDU-cade: a Console in a controller with local adaptive AI

A 3D-printed handheld controller where an Arduino UNO Q reads real world data— and a shooter that adapts its enemies to how YOU play.

AdvancedFull instructions provided7 hours84
ARDU-cade: a Console in a controller with local adaptive AI

Things used in this project

Hardware components

Arduino UNO Q
Arduino UNO Q
Central Board
×1
Analog joystick (Generic)
ps2 joystick for menu navigation and player movement (https://robu.in/product/thumb-joystick-button)
×1
Tactile Switch, Top Actuated
Tactile Switch, Top Actuated
Weapon cycling + enter/exit navigation (get the ones with dimensions 6*6*8)
×4
Tactile Switch, SPST
Tactile Switch, SPST
Pause button/ hide OLED stats
×1
Photo resistor
Photo resistor
Fatigue/difficulty-ease sensor (A2)
×1
max4466 3 pin
Mic envelope output (A3) (https://robu.in/product/max4466-electret-microphone-amplifier-with-adjustable-gain-module/)
×1
0.96" OLED 64x128 Display Module
ElectroPeak 0.96" OLED 64x128 Display Module
AI status readout
×1
Inertial Measurement Unit (IMU) (6 deg of freedom)
Inertial Measurement Unit (IMU) (6 deg of freedom)
analyses movement of the controller
×1
General Purpose Transistor NPN
General Purpose Transistor NPN
Vibration motor drivers
×2
Solar Cockroach Vibrating Disc Motor
Brown Dog Gadgets Solar Cockroach Vibrating Disc Motor
haptic feedback
×2
Resistor 1k ohm
Resistor 1k ohm
Photoresistor and vibration motors' connection to the uno q
×3
1N4007 – High Voltage, High Current Rated Diode
1N4007 – High Voltage, High Current Rated Diode
Flyback protection for vibration motors
×2
12×12 mm tactile switches
Action buttons (guide) (https://robu.in/product/1-month-warranty-776/)
×3
Custom 2-layer PCB (EasyEDA Pro)
×1

Software apps and online services

Arduino App Lab
terminal
app lab has restrictive access to opening pygame windows natively so we need to use the terminals to import libs and run it externally (code contains readme for both split processing and rustdesk)
EasyEDA
JLCPCB EasyEDA
to make the schematic and the pcb

Hand tools and fabrication machines

3D Printer (generic)
3D Printer (generic)
Soldering Station, 110 V
Soldering Station, 110 V
Solder Wire, Lead Free
Solder Wire, Lead Free
JLCPCB

Story

Read more

Custom parts and enclosures

Tactile switch keycaps

the keycaps used for the tactile switches

Back plate

Back plate with 2 protruding towers to hold the pcb in place

front plate

Front plate with proper enclosure

Schematics

SCHEMATIC

THE MAIN SCHEMATIC FOR ARDU-CADE

first failed prototype

failed prototype with multiple incorrect routing and inability of some components to function properly

LAYOUT

THE MAIN 2D LAYOUT OF THE 2 LAYERED PCB

How ardu-cade looks in the end

Bare look of front part

the front part of the assembled pcb without the 3d model

bare look of the back part

the back part of the assembled pcb without the 3d model

3D model

3d model and how they look

Code

ARDU-CADE APP LAB

THE SOFTWARE SIDE OF PROVIDED FILES: CAN SEE THE CODE IN DEPTH

ARDU-CADE

All files provided here split between 2 branches

Credits

Shantam Bose
1 project • 1 follower

Comments