INTRODUCING PROJECT KAJITSU: USB-JAMMA CONTROLLER BASED ON RASPBERRY PI... OH, AND ITS FRE

Jasen Hicks

Hardened Shock Trooper
Joined
Jan 3, 2010
Posts
448
What is Project Kajitsu?

Project Kajitsu (Kajitsu is Japanese for Berry) is the brain child of Mike Wolak and Jasen Hicks based on the $35 Raspberry Pi B+ Model. The goal was to use the Raspberry Pi with a custom Pi Hat / Linux kernel and turn 2 ordinary PS3 or XBOX360 controllers into 2 Discrete JAMMA compatible controllers. We succeeded.

Who did all of this and why?

All of the software, hardware, and testing associated with Project Kajitsu was done in house between Jasen and Mike. We undertook this project to bridge the gap between modern consoles and arcade games of the past. One of the fun benefits is that you can also control things like robots or other gadgets looking for 5V or 3.3V logic inputs!

Why the Raspberry Pi?

The Raspberry Pi B+ released in July 2014 opened the aperture on how much you can do with the Pi because of the expanded GPIO. It now has 40 pins instead of 26 with only a few being set aside for specific uses (power, ground, i2c, serial bus). This means we can use two controllers on the Pi and create enough discrete outputs for both Player 1 and 2 on a SuperGun. Think… only on device to handle two players!

What controllers are supported, and is there lag?

In the first release, RC12, Wired XBOX 360 and Wired PS3 Controllers are working with no lag. With more testing and getting additional hardware other PCBs will be added in future releases. Our goal isn't to use all the controllers on the market but the main ones. Want to tinker? We’ll be releasing the source files at a later date so the community can tinker and experiment.

What about Bluetooth?

Bluetooth is an awesome technology that adds a little bit of freedom to your gameplay. Unfortunately, initial testing has shown the pairing sequence isn’t as simple as the plug and play usb version and requires more testing and tinkering on our part before we add that functionality. When we do add it, PS3 and Wii controllers should work with Project Kajitsu.

Tell me more about this Linux you are running…

Our custom light weight Linux operating system image boots our USB-DISCRETE App in less than 3 seconds! Mike Wolak has fine tuned the Pi image to behave more like a high speed micro-controller vs. an underpowered desktop computer allowing nearly instantaneous startup times.

What/When can I download?

Today, you can download the BETA RC12 version of our Custom Linux Kernel and the EAGLE Board files associated with our two Project Kajitsu Pi Hats. Beta V0.1 is fully tested, V0.4 is being made for testing. Links are embedded in our original post here: freecade.org/project-kajitsu/

These files are provided as BETA files only. We are not responsible for any damage to your Pi, Pi-Hats, or SD Cards. We have used them with a lot of success so far. If you are interested in the schematic files for the Project Kajitsu Hats, we will make them available at a later date.

Part Lists:

3x 74HC245DW Buffers
2x 3.9K 0805 Resistors
1x 0805 LED
2x 1K 0805 Resistors
3x .1uF 0805 Capacitors
1x 100nF 0805 Capacitor
1x i2C EEPROM
1x 0805 Diode
4x 3pin .100 headers
2x 12 position .100 screw terminals
1x 2 position .100 screw terminals
4x Jumpers

1x Raspberry Pi B+
1x Micro USB Cable and Wall Wort

Can I just buy this preassembled?

We are doing a small batch of boards right now and should be ready in October. Pricing is to be determined.

project_kajitsu_1.jpg

project_kajitsu_2.jpg

project_kajitsu_3.jpg
 

ebinsugewa

Rosa's Tag-Team Partner
10 Year Member
Joined
Jul 7, 2013
Posts
2,495
What makes this different/better than undamned's board?
 

Jasen Hicks

Hardened Shock Trooper
Joined
Jan 3, 2010
Posts
448
What makes this different/better than undamned's board?

Differences:

- Two Controller support
- This hardware hat allows inputs as well opening the aperture for other projects that require inputs into the Pi
- it's all provided free. You can make your own using all of the files provided and contribute to the project with tweaks to code (which we will be providing) to suit your needs. I want to look at the best way to allow people to do this via the freecade site.

Is it better?
- I think it's an alternative. Not better, nor worse. It's using an amazingly fast linux image and a super cheap platform to do something cool.
- I have on if UDs micro controllers and it's a good piece of gear. He did great work with it.
 

mikew

Krauser's Shoe Shiner
10 Year Member
Joined
Mar 28, 2012
Posts
245
Who's work did you steal this time? :keke:

Nothing has been stolen here. This has been something Jasen and I have talked about doing for awhile now. Until recently I hadn't worked at all with the Pi's but after a very good experience porting PC2NEO to the platform I realized some of the things I learned could be used for something like this. So here it is, it's free for all and I hope it proves itself useful :) More importantly, I hope it inspires other people to make things and share with the group. Pi's are dirt cheap and with our custom kernel/OS image it boots nearly as fast as the popular controllers more commonly used by hobbyists only now you have a 32-bit 700mhz CPU with full OS support.
 

Lemony Vengeance

Mitt Romney's Hairdresser,
Joined
Jan 30, 2012
Posts
4,204
Mike, you do solid work :) I'll probably build one for myself so I appreciate the work that has gone into this :) What's the anticipated build cost of the add-on board so I can budget this out?

Also, what's the pitch of the header the screw terminal is installed in? Installing a socket would better suit my needs (I'm burned out on screw terminals. :S)

Jasen, Which controllers were tested with this? I remember seeing that Undamned had to get his working with multiple 360 and PS3 controllers (not all would work off the bat).
 

Jasen Hicks

Hardened Shock Trooper
Joined
Jan 3, 2010
Posts
448
Mike, you do solid work :) I'll probably build one for myself so I appreciate the work that has gone into this :) What's the anticipated build cost of the add-on board so I can budget this out?

Also, what's the pitch of the header the screw terminal is installed in? Installing a socket would better suit my needs (I'm burned out on screw terminals. :S)

Jasen, Which controllers were tested with this? I remember seeing that Undamned had to get his working with multiple 360 and PS3 controllers (not all would work off the bat).

The parts are all very inexpensive. I think the most expensive part is actually the terminal strips, but the buffer chips are at distant second at $.75 each or so. All of the 0805 parts are less than $.50 each. I can't give you an exact cost as I had a number of the parts on hand for other projects when I built mine. I think Mike is in the same boat.

As stated in the parts list, everything is .100" spacing for the screw terminals. We wanted to ensure it was easy to source the parts at a reasonable cost.

For the controllers tested so far: PS3 Wired, XBOX360 Wired. As we get more controllers working (PS360+ based, Wireless XBOX360 dongle controllers, etc) further revisions of the custom Linux we developed will be posted up. Working on a joint project like this with Mike and I being separated by a thousand miles or so tends to slow things down, but just a little.

We have another version of the hardware that is currently being made that will eliminate a few parts and make it easier to use with DB15 controller ports so custom cables wont need to be made. That should make it a tad bit easier for everyone.

Additionally, we are looking into leveraging the machine shop I use for other things to make a simple base and top to tidy up the overall look and provide some safety to the Kajitsu setup.
 

mikew

Krauser's Shoe Shiner
10 Year Member
Joined
Mar 28, 2012
Posts
245
Mike, you do solid work :) I'll probably build one for myself so I appreciate the work that has gone into this :) What's the anticipated build cost of the add-on board so I can budget this out?

Thanks man. The parts are very inexpensive especially if you use .100 headers in place of the screw terminals. Even with the terminals it's less than $5. PM me your address and I'll mail you a blank PCB to try.

Mike
 

Yodd

Iori's Flame
20 Year Member
Joined
Feb 7, 2002
Posts
8,214
@Jasen - I am not sure why you posted this in News and Rumors. This part of the forum is suppose to be for Neo Geo related specific topics. While this is certainly usable with the Neo, I would say that's definitely a stretch.
 

mikew

Krauser's Shoe Shiner
10 Year Member
Joined
Mar 28, 2012
Posts
245
@Jasen - I am not sure why you posted this in News and Rumors. This part of the forum is suppose to be for Neo Geo related specific topics. While this is certainly usable with the Neo, I would say that's definitely a stretch.

I can say for sure it's completely Neogeo compatible. 100% of my functional testing was on the NGCD and MVS since I don't have any other Jamma hardware.
 

Niko

Whip's Subordinate
Joined
May 15, 2014
Posts
1,773
Nothing has been stolen here. This has been something Jasen and I have talked about doing for awhile now. Until recently I hadn't worked at all with the Pi's but after a very good experience porting PC2NEO to the platform I realized some of the things I learned could be used for something like this. So here it is, it's free for all and I hope it proves itself useful :) More importantly, I hope it inspires other people to make things and share with the group. Pi's are dirt cheap and with our custom kernel/OS image it boots nearly as fast as the popular controllers more commonly used by hobbyists only now you have a 32-bit 700mhz CPU with full OS support.

Will you share the source for your atmega ic + NRF24 wireless controller rig? I know I'd appreciate it. :)
 

Tacitus

Volatile Memory Construct - SN://0467839
Staff member
Joined
Apr 26, 2002
Posts
15,120
We're good enough to sell his shit to, but not good enough to not run his mouth at SRK about us.

hilarious.
 

mikew

Krauser's Shoe Shiner
10 Year Member
Joined
Mar 28, 2012
Posts
245
Will you share the source for your atmega ic + NRF24 wireless controller rig? I know I'd appreciate it. :)

Hi Niko49,

The wireless project ended up being sold commercially and I'm no longer in control of the code/design. This new project is completely GPL'd and open for all.

Mike
 

Xian Xi

JammaNationX,
15 Year Member
Joined
Dec 1, 2005
Posts
27,750
What exactly does this do? I'm really sleepy and need the idiot version since I don't know what the Raspberry Pi does I just remember seeing someone use it on a CPS3 I think.
 

mikew

Krauser's Shoe Shiner
10 Year Member
Joined
Mar 28, 2012
Posts
245
What exactly does this do? I'm really sleepy and need the idiot version since I don't know what the Raspberry Pi does I just remember seeing someone use it on a CPS3 I think.

Hi Xian Xi,

It simply allows you to connect any combination of 2 XBOX360 or PS3 Controllers to a Raspberry Pi B+ and gives you 24 Jamma compatible outputs, 12 for each player.

Mike
 

Lemony Vengeance

Mitt Romney's Hairdresser,
Joined
Jan 30, 2012
Posts
4,204
12 per player, so directions, buttons 1-6, start and ground. Any plans for more inputs? Would be nice to use back/select or the guide/home button for a coin up input. There's enough positions on a DB15 for 3 more button inputs.

How was lag tested? Usually if something is processing a signal there's always potential for lag.

Guys, this is neither the time, nor the place for 'us vs them' talk regarding SRK.
 

mikew

Krauser's Shoe Shiner
10 Year Member
Joined
Mar 28, 2012
Posts
245
Hi Lemony Vengeance,

Each player has UP/DOWN/LEFT/RIGHT, Buttons 1-6, START and COIN/SELECT. There's a few extra signals available if you drop I2C support (2 Buttons) and Serial I/O (2 Buttons). Serial is fairly important for diagnostic purposes or a login shell should you want to modify the underlying OS. I2C is used for the optional onboard EEPROM as part of the B+ Pi Hat standard with the intention that this EEPROM contains identification information for the board so the OS could autodetect it and load the proper driver. Since we have a custom OS image that loads everything required this is not needed. My plan is to use those spare I2C lines for an optional LCD attachment in the near future.
 

Lemony Vengeance

Mitt Romney's Hairdresser,
Joined
Jan 30, 2012
Posts
4,204
Hi Lemony Vengeance,

Each player has UP/DOWN/LEFT/RIGHT, Buttons 1-6, START and COIN/SELECT. There's a few extra signals available if you drop I2C support (2 Buttons) and Serial I/O (2 Buttons). Serial is fairly important for diagnostic purposes or a login shell should you want to modify the underlying OS. I2C is used for the optional onboard EEPROM as part of the B+ Pi Hat standard with the intention that this EEPROM contains identification information for the board so the OS could autodetect it and load the proper driver. Since we have a custom OS image that loads everything required this is not needed. My plan is to use those spare I2C lines for an optional LCD attachment in the near future.

How will the ground line be connected to the edge, or through the DB15 for each player? I personally don't anticipate modding the OS, unless the serial inputs are needed to upgrade the OS.
 

mikew

Krauser's Shoe Shiner
10 Year Member
Joined
Mar 28, 2012
Posts
245
How was lag tested? Usually if something is processing a signal there's always potential for lag.
.

No noticeable lag. Like you say, lag is inherent to USB or any signal processing code but I can't notice any. The Pi isn't being worked hard to perform these tasks and it's a multithreaded application running at at real-time priority. At best all that's required for your standard Jamma game is the ability to check and set pins every 16ms, it's much faster than that.
 

mikew

Krauser's Shoe Shiner
10 Year Member
Joined
Mar 28, 2012
Posts
245
How will the ground line be connected to the edge, or through the DB15 for each player? I personally don't anticipate modding the OS, unless the serial inputs are needed to upgrade the OS.

In the design we posted ground is connected on it's own terminal header. There's another version being made that has 2 DB15 connections with the normal supergun wiring layout so each connector has ground and +5v.

Updates will be made as entire disk images. It's not like the normal Pi stuff where you have a 2G+ download and long install. These images are like 20MB and install very quickly. I've been doing all my testing on 128M SD cards so the cost of entry is very low to get this going.
 
Top