All Projects → lizardbeans → diy-iidx

lizardbeans / diy-iidx

Licence: other
Arduino Leonardo code to make a Beatmania controller. Included CAD files for laser cutting materials.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to diy-iidx

arcin-infinitas
arcin firmware for beatmania IIDX controllers - native support for Infinitas, LR2, beatoraja
Stars: ✭ 26 (-25.71%)
Mutual labels:  iidx, beatmania
aiff
Battle tested aiff decoder/encoder
Stars: ✭ 20 (-42.86%)
Mutual labels:  encoder
PCF8575 library
Library to use i2c digital expander with arduino, esp8266 and esp32. Can read write digital value with only 2 wire (perfect for ESP-01).
Stars: ✭ 28 (-20%)
Mutual labels:  pin
SVT-AV1-GUI
GUI for SVT-AV1
Stars: ✭ 32 (-8.57%)
Mutual labels:  encoder
KY-040-Encoder-Library---Arduino
Arduino library for the KY-040 Encoder
Stars: ✭ 37 (+5.71%)
Mutual labels:  encoder
node-google-polyline
Encode / decode Google's polyline format
Stars: ✭ 35 (+0%)
Mutual labels:  encoder
sdram-controller
Generic FPGA SDRAM controller, originally made for AS4C4M16SA
Stars: ✭ 45 (+28.57%)
Mutual labels:  controller
instrumentation
Assorted pintools
Stars: ✭ 24 (-31.43%)
Mutual labels:  pin
URLQueryItemEncoder
A Swift Encoder for encoding any Encodable value into an array of URLQueryItem.
Stars: ✭ 60 (+71.43%)
Mutual labels:  encoder
database-controller
Controller to manage databases on Kubernetes
Stars: ✭ 41 (+17.14%)
Mutual labels:  controller
phpstan-symfony
*DEPRECATED* Symfony extension for PHPStan
Stars: ✭ 42 (+20%)
Mutual labels:  controller
Alfred ShadowsocksController
ShadowsocksX controller for Alfred
Stars: ✭ 70 (+100%)
Mutual labels:  controller
pytextcodifier
📦 Turn your text files into codified images or your codified images into text files.
Stars: ✭ 14 (-60%)
Mutual labels:  encoder
audio
Audio support for Go language.
Stars: ✭ 62 (+77.14%)
Mutual labels:  encoder
Leonardo
Your mocking ninja - an add-on tool for centralizing your client side mocking
Stars: ✭ 91 (+160%)
Mutual labels:  leonardo
plasmolysis
[WIP] 探索同构开发新范式的可能性
Stars: ✭ 12 (-65.71%)
Mutual labels:  controller
SwiftyCodeView
Fully customizable UI Component for verification codes written in swift with RxSwift support!
Stars: ✭ 86 (+145.71%)
Mutual labels:  pin
aranya
Control all kinds of devices with Kubernetes
Stars: ✭ 16 (-54.29%)
Mutual labels:  controller
SPStorkController
Now playing controller from Apple Music, Mail & Podcasts Apple's apps.
Stars: ✭ 2,515 (+7085.71%)
Mutual labels:  controller
lazynite
A PC remote controller for YouTube and Twitch
Stars: ✭ 45 (+28.57%)
Mutual labels:  controller

Beatmania IIDX Controller (DIY)


Check http://consandstuff.github.io/ for full instructions.

CODE INSTRUCTIONS:

Folder iidxsdvx/IIDX 9+1e+9leds/Arduino Leonardo/ contains 2 folders.

This folder contains the code for IIDX layout. (9 buttons, 1 encoder, 9 LEDs)

  • leovx: for low quality encoders (24ppr)

  • leovxhq: for high quality encoders (600ppr)

If you have encoders with ppr different than 24ppr or 600ppr, you have to change some values inside the code.


Part List / Hardware

Things usde to make this controller. You can find links here: http://consandstuff.github.io/rhythmcons/beatmania-iidx/iidx-small/pics/pic003.png

  • Arduino Leonardo
  • 1 High quality encoder (600ppr)
  • 9 50x33 beatmania buttons
  • 2 33x33 square buttons
  • 9 Omron D2MV-01-1C3 (50gr.) microswitch
  • Crimp connectors
  • 14 moles 2.54 4pin wires with male and female connectors
  • 1 perfboard

Part List / Building Materials

Most of these parts should be CNC cut or laser cut (which is expensive). You can also use a cardboard box or wood MDF planks. I used clear acrylic because it's cheaper, also using only one thickness will make it even less expensive.

Main mounting plate

  • 3 or 5mm Black/Clear Acrylic with holes for button pad and disc encoder, also screw holes. I used 5mm clear acrylic, but I found out it's better to use 3mm black acrylic for the DJDAO FPS look.

Button pads

  • 5mm Clear acrylic with holes for buttons and encoders. Black looks way better, I used clear.

Turntable mounting plate

  • 5mm Clear acrylic with holes for encoder and screws.

Turntable base

  • 2x5mm round discs with holes for encoder and mounting screws. Use this base to bring your turntable to your desirable height.

Turntable disc

  • 5mm round disc with hole to fit the encoder. You can also cover this with a rubber skin for maximum gripness. The acrylic itself is really slippery.

Mounting Box

  • I used 9-12mm MDF for the box walls, 5,5mm MDF for the base and 3mm MDF for the back door. Every cut and hole was made by me with a saw and some sandpaper. Using an electric saw and a sandpaper machine is a lot easier.

PIN DIAGRAM

The pins are assigned to every button and encoder. You'll see that the PCB has many pins from A0 to A5, and from 0 to 13, so you'll have 19 pins in total. Remember that buttons use one pin, but encoders will use 2 pins. The PCB also has 3 grounds (GND) to choose from, and a 5v output for the 600ppr encoder.

Beatmania IIDX Layout

Tested working. See code included.

Button Pin # Button # LED Pin #
Start 11 Button 8 2
VFX 12 Button 9 3
Button 1 13 Button 1 4
Button 2 A0 Button 2 5
Button 3 A1 Button 3 6
Button 4 A2 Button 4 7
Button 5 A3 Button 5 8
Button 6 A4 Button 6 9
Button 7 A5 Button 7 10
ENCODERS DATA 1 DATA 2
Encoder Tuntable 0 1

That leaves pins 2 to 10 for LEDS (9 LEDS, enough for each button)

Assembly / Building the controller

  1. Take the keypad of your choose. In this case I'll be using the IIDX&SDVX hybrid keypad
  2. Prepare buttons with the ammount of pressure you like (button + spring + led + microswitch)
  3. Insert every button where it belongs and screw the plastic nut from bellow
  4. Insert both cheap encoders and screw the nut from above.
  5. Mount the disc mounting plate on the Main mounting plate with the screws.
  6. Mount the disc base on top of the Disc mounting plate with screws.
  7. Mount th ehigh quality encoder in it's place with 3 screws.
  8. Turn around the main mounting plate and mount the Leonardo and Protoboard/Breadboard
  9. Wire every pin on the Leonardo PCB with a pin on the Breadboard using jumper wires.
  10. Also wire one Ground to the PCB.
  11. Mount the keypad plate on the Main plate with screws.
  12. Wire every button and LED with the breadboard using jumper wires.
  13. Connect the PCB to the computer using a USB cable, and using Arduino IDE load the code into the Arduino Leonardo.
  14. Finally mount the plate onto the mounting box and mount the disc on the high quality encoder.

Gallery

Here's the gallery, including other prototypes.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].