XBOX S-Video + SPDIF mod

This mod gives S-Video output, and SPDIF (digital audio) output, plus removes the need for the original audio+video cable

Why:  XBOX usually delivers Composite Video output + Stereo output.   With an “Advanced” cable, user can enjoy RGB video & optical SPDIF.
I wanted higher video quality then composite video delivers, and my projector (as most projectors) does not support RGB.S-Video is better then Composite, mostly because it uses 2 wires (Luminance & Chrominance) , instead of  just using one wire, as Composite does.

This mod allows XBOX to boot & work just fine without the original audio+video-cable connected.

The original cable is still working after modding this way.

This should not be necessary to say, :  This voids your XBOX warranty instantly 🙂

+The original connector/cable will still work as before.

I skip schematics – here goes the pictures…  they say it all:

Finding the signals/connecting to them:

This picture shows the solder-side of the XBOX motherboard, where the video+audio connector is mounted.
RED long wire,  goes to the center of the SPDIF connector.
WHITE wire, is the S-VIDEO Luminance line
GREEN wire, is the S-VIDEO Chrominance line
The thin RED wire that connects three solder-points , connects two sensing-points to GND, When this two points are grounded – XBOX is cheated to believing that the original cable is connected, AND  SPDIF digital audio output is enabled

TRICK:  Usually – I would also need to connect the Y-GND & C-GND lines too.  XBOX is fortunately well build and uses common ground for all I/O lines, and therefore, I will use the ground from the XBOX  chassis instead..

Now , The connectors:

This is the inside of XBOX’s rear shielding plate.,

I drilled some holes, and inserted:
One female RCA connector for the SPDIF
One female S-VIDEO connector
Both connector’s shields are soldered to the XBOX’s chassis-shield (perfect ground source, XBOX motherboard is very well grounded at several points)

Finally , Connecting the connectors:

*1  =  S-Video connector.   There are two more pins beneath the two you see.  These pins are connected to ground.
*2  =  SPDIF, ground connected by soldering shield to the XBOX shield

HINT: You can see I removed the tin-fan-grills that  were between the fan and the plastic fan-grills.  I did it to improve air-flow.

A better alternative :

Using shielded cables might give higher quality – I did not see any difference, but here’s some pictures of this mod with shielded cables…

Sublight – Powerful SCUBA lamp.

Night diving and wreck diving requires a good torch. When I asked for advice on buying a torch, most divers I told me that “30Watts are great , 50Watts are insane , and anything above is not really necessary…”

If it’s worth doing, it’s worth overdoing.  I started with interpreting what they said , It sounded to me like this: “30Watts are OK , I have it because I could not afford the 50Watts , anything over 50Watts is what I would like to have”

So… what I “needed” was :

  • 225Watts … (3 x75Watt bulbs)  
  • battery time of at least two hour at reasonably high intensity…
  • Variable intensity
  • >20Khz PWM (Pulse Width Modulation) to keep high efficiency and no noise.
  • Internal 28Volt DC-DC converter to improve efficiency of Power MOSFET’s .
  • Multiple bulbs (3), just in case one dies – there are still two left.
  • Voltage monitoring.
  • No disassembly required for charging.
  • Nice software with SOS and maybe a bottom-timer.
  • Self adjusting intensity (not implemented yet)
  • Low battery warning and battery capacity prediction. (not done yet)


So , the project resulted in:
Acrylics pipes with 22mm acrylics ends , with O-rings , 4Mhz RISC Microprocessor that works at 4-5 volts , 28Volt DC-DC pump , 2 optically isolated PWM outputs that uses the 28volts to control 50Ampére low-drop power MOS-FET’s so fast that the MOSFET’s does not require any cooling as they “never” are in linear state. A 2×16 Character LCD display had to be added.

There are no moving parts, the 3 buttons and on/off are magnetically controlled and does not represent a weak point (or should I say leak point ?)  


here is the battery case : two 12Volt 6,5Ah batteries in parallel gives 13Ah ! (could be 2×7.2Ah , but I 6.5Ah was all I had).

Here is the torch ,

the display is showing voltage and intensity. as soon one bulb is 100% on , the other 2 starts helping , that’s to distribute the bulb-burn-time so their life length will be different. those are 3x50Watts “Osram Decostar” (1×10º , and 2×24º)  halogen bulbs ,just because I did not got any 75Watts , of course , the electronics will handle 3x75W (225Watt)

The LCD display is back-lit , (green/blue) , and looks very nice under water. Now booting …


because of the massive intensity of the light , the camera could not do better , the LCD is invisible , It’s normal daylight in the room but “seeing” this bright light source , the camera made this picture so dark.


The Freeware

The design/circuit  should always be treated as freeware, you might build as many as you like , even for your friends.

The author (me) must always be credited as the author.

The compiled program is here. , It is possible to buy preprogrammed controller from me.

The schematics: (right click the picture below and “save target as”)

A little description , it should be everything you need to know:

  • U$3 is the LCD connector , any HD44780 compatible LCD goes , at least 2×16  characters.
  • PADLAMP1 is the pad (output) for lamp1 , padlamp23 is is for lamp 2and3
  • JP2 is the switch/button connector
  • use IRFZ44 or better power MOSFET (BUZ 11 is used on schematics by accident) – they are pin-compatible.


Q: Do you have the container plans ?
A: No ,I just found some material that would fit the batteries worked on it.

Q: Is there a PCB layout ?
A: Yes , I designed a two layer PCB ,but never etched it.

Q: Where did you found the O-Rings you needed ?
A: A hardware store sold them as meter-ware with a special glue, then I made the O-rings I needed.

Modifying E-Dimensional ED-Glasses (3d glasses)

This will void your warranty !

This picture shows the two dongles that are necessary needed , the big one is the controller , with infrared connector (for wireless glasses) & the other connector for wired glasses.  This controller needs +5Volt at pin #9 in order to work.

Some graphic adapters deliver +5 volt @ pin#9 , Nvidia’s reference-design based adapters does not. you will also need external +5volt if you want to use the stereo glasses on/after a KVM switch or with an extension cable.

This is when you need the power adapter , the smaller one , it’s gutted on this picture , but it’s just a PS2 keyboard male+female (pass thru) adapter that connects between the PS2 port an keyboard in order to leech some power , and then deliver it to pin #9 in the smaller VGA-VGA (DSUB15) dongle.


I thought that 2 adapters were one too much , so I chopped off the PS2/PS2 connector cable from the small dongle and found that both wires inside were connected together to +5volt (the bigger dongle is already connected to GND by the shield , and R,G,B-ground.

Then I drilled a hole in the dongle for the cable (can be seen on both pictures)


The black wire with the red shrink wrap and red wire in  center is the one , it goes straight for the second idle drilled wire-pad on the dongle’s board.

+5 Volt delivered , and only one dongle needed – less cable macaroni.

I like the product , it’s one of those gadget’s you can buy and NOT regret it the day after    – the dongle is of high quality and does NOT cause poor picture quality at high resolution/refresh rate , I just removed it for a cleaner setup.

You can also use USB connector to get the +5v .


E-D Glasses is trademark of

Extra fan sensors for Motherboard Monitor

how to add 4..16 extra tachometers to your computer

Motherboard Monitor by Alexander van Kaam is a great freeware that uses hardware monitoring chips found on most Pentium and all newer motherboards. MBM will detect and use the circuit described below.

Some motherboards have 4 monitored fan connectors ,others have only 2. They all have one thing in common: the SMBus.

Want to add 4, 8, 12  or 16 more fan sensors ?

One of my computers is a fulltower with 14 harddrives, 12port hardware RAID controller , SCSI adapter and is cooled by 5 fans in the cabinet + one on CPU , plus 2 in PSU and 2 in drive cage.

So I needed to to monitor more fans.
I choose the MAX6651 16 pin QSOP IC. (datasheet)

You can get one at
MAX6651 offers 4 fan monitors (tachometer), and five programmable I/O ports.and voltage control that could be used to control fan speed.


Resistors 10K

Please add a 10nF capacitor between GND and VCC near the chip.

ADD is the pin that sets the IC’s SMBUS address, there can be up to four MAX6651’s on the same bus and the address is set by:
-ADD Connected to GND
-ADD Connected to VCC (+5V)
-ADD Not Connected (floating)
-ADD Connected to GND using a 10K resistor.

SMBus Connector:

Motherboards SMBus connector is 5-pin and is configured like this:
2-(not used)

Most decent motherboards have such connector, if you cannot find it, or your motherboard do not have it, thengo to my “locating SMBUS” page for instructions.


Some additional info from the author of MBM:

The MAX6651 is a sensor chip only for fan readout, this sensor chip is not automatically detected by MBM because it has no device ID and it can be located on an address which a normal sensor chip uses, so if I where to auto-detect it many users would suddenly get this sensor chip in their fan list while they don’t even have it

Edit the MBM 5.ini file and find the [ADVANCED] section, add the line MAX6651=1 this will make MBM scan for it.

Please understand that the fan divider on this sensor chip counts for ALL fans and thus should be set the same for all the MAX6651’s of 1 chip found. The last one MBM sets when starting up is the one that will overrule all others


Fan 1 : MAX6651-1-1 : divider 2
Fan 2 : MAX6651-1-1 : divider 4
Fan 2 : MAX6651-1-1 : divider 8
Fan 4 : MAX6651-1-1 : divider 4

for all fans MBM will set the divider to 4 since Fan 4 has it at 4.

The challenge….

…Is to connect the small QSOP package MAX6651 comes in.

You should be happy MAX6651 is so small , with that little mass it picks up temperature changes really quick (local sensor in huge packages is always sluggish)

So all you have to do , is connect those pins , each pin is 0.25mm wide, and there is one pin each 0.6 mm.
That is : “on less than 5mm there is 8 pins to solder”.

You need a soldering iron with a small tip.

SMBus uses only weak (20mA) open collector outputs. It’s not possible to destroy I2C or SMBus by short Data and/or Clock to GND or VCC or to each other.

The easy way….

You can order a prototype QSOP PCB (*) that have large terminals and are easy to work with .

*Thanks goes to Brian Macomber for providing the link.

Some Pictures….

just a test computer – observe the “Fan 4…..Fan 7”

The black 4-pin connector is the “floppy power” connector – it’s there to provide power (+12volt) to the fans.
The double green connector is the SMBUS connector that goes to the motherboard – there are two of them (above each other) to allow chaining of more SMBUS devices , like even more fan sensors or temperature sensors.



Q: how can I make a fanbus that is able to control the fan speed/(voltage) ?
A: The MAX6651 have several outputs, but only one is “almost” suitable for controlling speed. To be able to smoothly control the voltage to each fan, a simple D/A output is not enough.


Additional Info/thnx:

Per Ullman – shows you here how he build this project by connecting to the RAM DIMM sockets, rather than soldering on the DIMM’S.

 Thanks to:

Alexander van Kaam – not only for MBM, but also for quick help and additional info.

Adding extra temperature sensors for MBM

How to connect more temperature sensors to Motherboard Monitor

Motherboard Monitor by Alexander van Kaam is a great freeware that uses hardware monitoring chips found on many Pentium and all newer motherboards. MBM will automatically detect and use the circuit described below.

Some motherboards have 3 external  temperature sensors ,other have 3 internal.
Some can monitor negative voltages , other does not. They all have one thing in common : the SMBus.

Want to add 5 , 10 or 45 more temperature sensors ?

I am using water cooling and “needed” more than my 3 temperature sensors (as one is on motherboard and the two others monitors the two CPUs) , after looking into the wide sensor support MBM offers I decided to try to attach another chip to the SMBus (Intel’s version of Philips’s I2C multimaster bus).

 MAX1668 16 pin QSOP IC. (datasheet)


You can get one at
The 1668 offers one local (on chip)  sensor and 4 diode-coupled-transistor sensors.

Transistor-sensors is what you want , a little more work , but more accurate , and they already exists in CPU’s , GPU’s and other IC’s with internal sensor.

The schematic is very easy , and needs few external components.

(*)=  2200pF capacitors –not needed if you use twisted pair wires.
(*)=  +.1uF capacitor – used for decoupling.
(*)=  200Ohm resistor – can be omitted (just use a wire instead) as you use only 5volt (SMBus)
(*)=  10K resistor –not needed, as you are not using ALERT output.

The sensors , (transistors) can be BC547 with basis connected to collector. they work only when connected correctly , there is no risk to damage anything if reverse-connected, the sensor will not work until corrected..
BC547 is a very old , cheap ,  and small transistor , and it’s body volume can be reduced to less than half with a Dremel-tool. (the copper/silicone part is really small)  There is no need to use any expensive transistors , all that really matters is that it’s a silicone (not germanium) transistor , and not a darlington coupled one.



Each MAX1668 have an 7 bit address that is unique to this SMBUS device, and no other similar device will have. The 3 LSB (least significant bits) of this adress can be changed by ADD0 and ADD1 pins.

If you want to have more than one MAX1668 on the SMBUS, each of them needs and unique address.

The table below shows the 9 possible configurations, and where to connect ADD0 and ADD1 pins:

GND Floating
Floating GND
Floating Floating
Floating VCC
VCC Floating

(Floating means “not connected”)

  …YES , It means you can have nine MAX1668 on the same SMBus at the same time with no problems , just make sure each have it’s own unique address. Just choose an address , MBM will detect any.

Any unused sensor inputs should be shorted (to prevent floating) , and shorting one tells the chip that sensor is not in use.

SMBus Connector:

Motherboards SMBus connector is 5-pin and is configured like this:
2-(not used)

Most decent motherboards have such connector, if you cannot find it, or your motherboard do not have it, thengo to my “locating SMBUS” page for instructions.

The challenge….

…Is to connect the small QSOP package MAX1668 comes in.

You should be happy MAX1668 is so small , with that little body it picks up temperature changes really quick (local sensor in huge packages is always sluggish)

So all you have to do , is connect those pins , each pin is 0.25mm wide, and there is one pin each 0.6 mm.
That is : “on less than 5mm there is 8 pins to solder”.

SMBus uses only weak (20mA) open collector outputs. Theoretically it’s impossible to destroy I2C or SMBus by short Data and/or Clock to GND or VCC or to each other.

The easy way….

You can order a prototype QSOP PCB (*) that have large terminals and are easy to work with .. or you might look for it at  , if you get such pcb , then just place the QSOP package on the PCB and heat up the terminals , no soldering needed.

*Thanks goes to Brian Macomber for providing the link.

Some Pictures….

…This is how mine MAX1668 board looks , the chip is mounted on a DIL16 socket, the 8 pins to the left are 4 connectors  for external sensors (you can see they are color-coded) , the last one has a jumper , a jumper instead of a sensor tells the chip that this input is not used , and it returns 0°C.

This is one of the “sensors” , a modified BC547 transistor , as you see it’s less than half size of a normal BC547 , I’ve made even smaller ones now. The transistors should be “diode-coupled” – it means their basis and collector is shorted.  One wire goes to the basis+collector , the other to emitter.


This picture shows the size of MAX1668 compared to some known objects , (BC547 transistor and a jumper)

“Air” – is the local on-chip sensor
“Nvidia GPU” is a transistor-sensor on the back side of PCB where the GPU is.
“Water” is usually water temperature , , showing maximum temp , because it’s disconnected to demonstrate what you see before sensor is correctly connected

Thanks to:

-Antonio , for reporting an error on this page  , and helping with a fix.
-Chris, for grammar check.

-Lee Hollis – for showing people how he accomplished this project

-Andreas Lenz – for showing people how he did it, in German

PainmakerLCD 2

Worlds most advanced paintball marker controller. (back in’97)

New electronics for Brass Eagle’s Rainmaker

-who says the standard Rainmaker must be ugly-grey  – here it is in  black(picture taken with flash)

(I do not sell them anymore – sorry)

This is what you get :
-PainmakerLCD board
-Better trigger switch , (much tighter)
-The optocoupler if you want to use the  Revolution-Starter option
-Schematics you might need.
-Shipping to anywhere on Earth

Those were sold for US$ 230.


Some facts :

  • – all electronics are inside the fore-grip , on two dual-sided PCB’s with a “bus” in-between
  • – CPU is a  20Mhz RISC processor , with 8KB Flash EEPROM  .
  • – The Source code (ver 1.0) were 3328 lines of pure assembly. (takes 48 A4 pages when printed)
  • – All settings / preferences are saved in EEPROM ,… no battery is needed to keep settings.
  • – All menus / functions are controlled by only three buttons .
  • – Electronic Safety is on when in any configuration menu. or reloading (loader lid open)
  • – It’s powered by one 9V Ni-Mh battery inside the grip , but can also take 12Volts or more.
  • – It have both a high-intensity LED and high-frequency beep (hard to localize the sound , HF sound does not travel as far as lower freq. do) , beeping  is  used for warnings/alarms/ button-confirmation + +


Features & Menus:

It all starts with Intro …


(Ready For Action: Totally fired 0015 , this round 0000 , LFT(left in loader 188 balls))

(This is the playing screen)

This is how the LCD looks like during a game. There are two independent counters that can be reset when you like , and can be saved to EEPROM and loaded at next game.


Load/Save Configuration , Painmaker LCD loads all previously saved settings at each boot, if you then make any changes they will not be saved until you save them , on the other hand , you can make some changes you are not happy with , and just load the previous  (takes only two button-presses to do that.)


(After 278 balls are fired the last round (since last RND reset), totally 278 this “day” (since last TOT reset) , and there is 13 left in loader) so the LED is lit as a warning (because warning is on (in this case) if there are <=25balls left)

(This is the playing screen)

This is ho

w the LCD looks like during a game


The loader detected that the loader lid is open ,(reloading) the display is showing this , until the loader is closed , safety is on.  , the LED is turned off.


Loader is closed , the result of the above calculation (balls left + balls in a pouch) is 116.  (This is the playing screen)


Reset menu : allows to reset total counter , and/or round counter  “-” is left button “+” is right button


Menu : Battery – Shows battery voltage ,+/- 0.01 volt ,( it’s calibrated with a Fluke.)

this is updated so fast ,  that voltage changes are “animated” on the LCD (when 46 changes to 45 both “6” and “5” are showing because the 10bit DAC cannot decide the LSB        very cool.


Low Battery Warning Menu : … user can decide when the low-battery warning (audio) should be activated, (the minimum working voltage is different for Ni-Mh , Ni-Cd & Alkaline batteries.   (+/- buttons increase/decrease this value , holding down “+” increases value fast , holding down “-” decreases value fast)

a “beep” sounds every idle 2 sec if voltage is low


If the battery is low , It’s also on the main screen…


Temperature :  a precalibrated to 0.5° C state-of-the-art IC is measuring the temperature , and sending the results serially to the CPU  ,     It’s not like the “AngelLCD” thermometer        , but a really professional (industrial) thermometer , calibrated to +/- 0,5°C .      If you live in Norway (like me) and play when it’s about 10°C     , it might be cool to know how cold it is , as the paint starts breaking really easy at that low temperatures . It might be useful at high temperatures too.

added Fahrenheit degrees , at first I wanted to calculate it , but it’s pretty difficult because of the decimals needed ,  , so I use a lookup-table , to save space the table have 60 entries , 1..60 °C  , so the Centigrade has higher resolution (0.5deg) and the Fahrenheit temperature is the same for 25°C and 25.5°C.


Configure menu is where settings like burst-size and loader capacity is set in “setup” part , and burst-on/off , fullauto and other are under “modes”  , go to left or right to continue setup from here.

Loader capacity presets the maximum Loader capacity … (+/- buttons increase/decrease this value)

188 is the space in a Revolution + it’s neck.

Pouch capacity must be known, (to add right amount of balls when loading) … (“+”/”-” buttons increase/decrease this value , holding down “+” increases value fast , holding down “-” decreases value fast)

Here is the low ammo warning configuration , it’s now set to warn me when 25 balls are left (“+”/”-” buttons increase/decrease this value , holding down “+” increases fast , holding down “-” decreases fast)


Tournament-Lock    This menu will ONLY appear if the Tournament-Lock is ON  and then NONE of the menus below will show. Causing the last selected configuration being used without any way to change it during game.

This is THE BEST Tournament-Lock feature because :  It will let me not only lock-out the coolest features , (like any Tournament-Lock does)  , but It allows to keep any settings , and only restrict changes.    Like : I’m will play in a Scenario-Game (Command & Conquer) which allows any fire-mode up to 9bps , even fully automatic  . So I can choose any mode I like , and still restrict myself from being able too choose 13bps . by selecting Tournament-Lock when rebooting  ,  , and a battery-change does NOT affect the Lock’s state.

The only way to toggle this selection is to reboot , while holding all 3 menu-buttons (beeping) depressed in about 2 seconds (during the boot & intro sequence) which is  , needless to say , not possible during the game.  (playing with battery & beeping 2 seconds will catch referees attention.) m and the process would need to be undone at end of game.

the display also shows that Tournament-Lock is active during the game , (unless when that space is used to tell important things like Low-Battery) , anyway the first “Tournament Lock is On” can be reproduced.

Dwell Adjust : 1…30 ms in 1ms steps .

  no rainmaker can shoot at speeds like 15bps ,because it will not have time enough to feed each ball , only the balls that quickly gets into place.   this is because of the low pressure controlled ram needs a minimum of time to cycle the mechanism . and at higher rate-of-fire there is very little time to feed next ball.    When this time is too long , time is wasted , precious time that could be used to feed ball… (any default configuration on any controller board  waste some time)   on the other hand ,      When this time is too short , The rainmaker will have a significant blowback , (because it’ll open the “chamber” when there is still very high pressure in the barrel) , of if this time is way-to-short , it will not fire at all , (the ram is reversed before it’s in hammer-release position)

So , this value should be set as low as possible , allowing normal function ,  this will extend the ball-loading-time.   This setting does NOT influence the rate-of-fire in any way, each ms set here is compensated for.

The optimal value of this setting will vary from rainmaker to rainmaker , because the time delay needed is dependent on : low-pressure-spring , ram , and hammer spring.

Also , having the optimal setting will save battery , the 9volt battery works pretty hard when it opens the MAC valve.  Because of the way PainmakerLCD is constructed it uses a higher voltage to control the Power-MOS-FET that opens the 6volt valve.  This gives a impressive raise-time and very “strict” MAC-valve movement.   , (anyway use Ni-Cd rechargeable battery)

To make the adjustment easier to try out , There are 2 Dwell settings that can be programmed , and then toggled.


Configuration of  “burst” or “family” mode      (“+”/”-” buttons increase/decrease this value , holding down “+” increases fast , holding down “-” decreases fast)


BurstStop = (On/Off) let’s user choose if a burst should be interrupted when trigger released , or not.



AutoBurst = (On/Off) , Similar to AutoRepeat , if on , burst repeats with a brief pause in between (until trigger released) , a three ball burst sounds like “bang-bang-bang….bang-bang-bang….bang-bang-bang….”


Autorepeat :  whatever the fire mode is (normal/burst/turbo) , when trigger is held down 250ms (0.25sec) , the Painmaker switches to fully automatic until trigger is released , good for bad situations   (and then returns to the mode it was in before) ,  (pressing “+” is “ON” , pressing “-” is “OFF”)


Burst: turns on/off the burst/family mode , which can be set to anything between 2 and 255 balls            (pressing “+” is “ON” , pressing “-” is “OFF”)


Fully-automatic : turns on/off the ammo-wasting mode.        (pressing “+” is “ON” , pressing “-” is “OFF”)

Turbo Mode menu : turns on/off the turbo mode.        (pressing “+” is “ON” , pressing “-” is “OFF”)


Fire rate , applies to all fire-modes and can be programmed to anything between 6.5 and 15** balls/s in 0.5rounds/s increments  (“+”/”-” buttons increase/decrease this value one step each click)) this setting limits the fire rate in ANY selected mode. It applies to all fire modes.

**There is no gravity-loader that will provide more than 13balls/second continuously (more than 4 shots), my tests gave me some “blanks” in between shots.  There are many things that will set the  maximum fire-rate you can achieve :  Loader, Dwell -(shorter is better) ,Low-Pressure system’s pressure (a little higher pressure will move bolt faster) , Bolt , (heavy bolt will move slower) +.

I made the selection go to 15bps in 0.5bps steps to allow everybody experiment and find your own maximum setting , my calculations (of recorded audio form Rainmaker) makes me believe that 15bps is possible with forced feed or a longer vertical feed , (if the balls are “falling”  faster into chamber there won’t be blanks) , 10 or 10.5 is the maximum of what my revolution loader can deliver continuously.


Backlit sets the intensity of the backlit when in menu mode , (backlit is always of in game mode) – 0 means off , 255 = max intensity


Those three menu-buttons (“+” ,  “Select” , “-“)      and the mini-jack connector to the Revolution-Loader


Battery is now inside the grip

… but a higher-capacity battery is recommended for trouble free , long play , go see the “PainmakerLCD Power”  page..



(Revolution-Loader mod.)

the button that detects when the lid is open , and the high-intensity-LED that’s used as a warning

button & LED in place , and also the original Revolution-loader electronics.

closed revolution-loader , with the mini-jack connector

difficult to photograph , but it’s the high intensity almost LED blending the camera to tell the ammo is low



  • Q: Is it an ADD-ON or what ?
  • A: It’s a complete replacement of ANY wires/electronics you might find inside your Rainmaker. or any compatible marker)


  • Q: Can you make it fit inside gripframe ?
  • A: ….technically yes , but not using the display I’ve programmed for (it’s too big) , I would also have to order some professional PCB’s made for  SMD (SurfaceMountedDevice) components. the size is as it is, because I did built it to be technically perfect , like : the PowerMOSFET controlling the valve is totally isolated from the CPU , using a optocoupler. , all this stuff takes some space u know.     , so…. It can fit inside , but will need a smaller display and a new PCB  , ….today , only the earlier project , the Painmaker (noLCD) can fit inside .. it has much common functionality , fire-modes/autorepeat  , on the other hand , a display inside grip us useless during play (may have little information and take some time too read)   , while when using this big LCD you can read it all very quickly by only turning the marker.


  • Q: Is it only for Rainmaker or will it fit any marker.?
  • A: It will work on ANY marker , the trigger input can handle both optical (semiconductor)) and mechanical-switch triggers , and the Valve/Solenoid output is very powerful , and can handle whatever load you need , the PowerMOSFET is driven by a higher voltage than it switches , it means the MOSFET is switching really FAST and powerful (very low internal resistance and low rise-time) NO other controller boards for any paintgun does this , as it requires a higher voltage than the CPU works at and thus a electrical isolation between PowerMOSFET and CPU  … The whole thing needs power supply between 7…24Volts.


“FreeFlow” Valve for Rainmaker

…That’s the name I’ve chosen for this mod.

Most people agree that the original Rainmaker valve does not provide optimal flow , there are few aftermarket valves that should improve the flow , but none of them impressed me , so I made my own , with absolutely highest flow possible.

To the left , the original valve body , to the right , my version.



I made two different .,,,

Sorry , but I’m not selling these , too much work , …. unless I come across a cheap CNC machine  🙂

Painmaker (Rainmaker modification)

Worlds most advanced (back in ’97) paintball-marker controller board without LCD

This is a new microcontroller board with new features , including very useful “Autorepeat” for Brass Eagle’s Rainmaker

Buy it NOW :

This is what you get :
-Painmaker board
-Better trigger switch , (much tighter)
-The optocoupler you need if you want to use the  Revolution-Starter option
-Schematics you might need.
-Shipping to anywhere on Earth

(no longer for sale, and out of stock).


Inside the grip….

The latest version ready for shipping , the two white wires goes to the valve…

The red LED (Light Emitting Diode) goes to the hole where the original circuit’s LED were.

Hardware used :

  • 4Mhz RISC Processor , assembly programmed , (no high level mess inside) .
  • 4Mhz resonator (for stable temperature independent frequency).
  • HEXFET (Power-MOS-FET) from International Rectifier controls valve.
  • Integrated 6 Volts regulator to use 9V battery (NiMh or NiCd rechargeable is nice) ,or any power source up to 30volts
  • (Painmaker can use the 18volt you already have in your Revolution / Evolution loader
  • Quad DIL-Switch to select configurations.
  • The Painmaker is polarity-protected, connecting battery wrong way does not destroy anything.


Features & Options :
  • Fullauto : No description needed , it blows out your paint really fast , at selected fireratio , mostly for people in stressed situations.
  • Burst : Fire preselected amount of balls each time trigger is pressed.
  • BurstStop : when enabled : a burst can be stopped by releasing trigger.
  • Turbo : The original “Turbo Mode”. , shoots when trigger is pressed AND released.
  • Semiautomatic : One ball at a time , lust like any tippman98 or stingray
  • Autorepeat : When trigger is held down more 200ms (0.2 sec.) after a shot been fired in any mode , the Painmaker switches to fully-automatic  , until trigger is released , then it returns to it’s previous mode ……..good for bad situations
  • AutoBurst : just as Autorepeat , but repeats selected mode (burst/whatever) each 0.27sec.
  • Dwell Setting  : Ability to program true dwell time (the time main-valve are open)  , this time is compensated and does NOT influence the ROF (unlike other not-so-cool boards) do.    Read “Dwell setting” explanation in FAQ:
  • ROF  (Rate Of Fire) : Any ROF you choose , cannot be exceeded by any configuration , it limits all modes ,, you cannot shoot faster than this setting…
  • Tournament-Lock :If all 4 switches are OFF , : the programming mode cannot be entered when booting , Only semi-auto is enabled , and the ROF is set to right below 9bps , however , all user-setting are still “remembered” and the programmed Dwell is used , NPPL rules allow any Dwell setting.
  • Tournament-Ok : If the ROF is 9 or less balls/sec.  AND the Fullauto/Burst + +features are switched off , (as NPPL tournament rules says) then the LED will flash quickly 3 times when power is turned on.  , This way , referee’s can easily check that any settings you chose is following the rules….
  • Quick-Select : Three of those gold-plated-pins (are dedicated to Quick-Select , user can mount a 2-or 3 position-switch there , the pins are GND (Ground) Fullauto-IN and Burst-IN  , Fullauto-In is connected to GND , the Fullauto kicks in , if Burst-IN goes to GND , the Burst is on.   This allows user switch between semi , burst , and fullauto as any real gun   nice for scenario-games.    Of course Quick-Select are disabled when Tournament-Lock is on. Use if you want it , or just leave them unconnected.
  • Revolution-Starter : A digital output line , that starts “revolution” or “evolution” loader each time a ball is shot. User must mount one single component  inside the Revolution-loader , and route 2 wires from Painmaker-board to the loader. very easy operation , well described in the “manual”….   the Painmaker is ready for this , the extra component is available for an additional 5 US$.

Programming mode :

Basic programming  knowledge , : Programming is done using binary system , “0” means switch off     , “1” means switch on , “x”  means “don’t care”   , you will see there are some “default”  settings at each table , those are not really defaults , but rather “recommended” or “basic” settings , if you skip programming one table , the last value you set it to will be preserved , it will not be set to “default” …

(  ! do not let all DIP-switches be “off” when connecting battery , this enables Tournament-Locked mode and you can’t enter programming mode , tournament Locked mode flashes the LED quickly 3 times when you connect power. , let at least one switch to be “on” in order to enter prog.mode)


1.- When connecting battery , hold down trigger about one second  ,then release trigger.

2.- The LED will blink ONE time , to tell you to use table 1:

table 1 (setting 1 (off,off,off,on) is default.

(those settings are OPTIONS , leave all “off” , and you have the semi mode…Any choice can be combined , if you want to turn on autorepeat and turbo , the switches will be “on-off-off-on”)

3.- Now , you are done setting the switches ,  the trigger have two functions in programming mode :  to SKIP to next table (and keep the setting you had before , press trigger , to REPROGRAM this table (using current dip settings) , press and hold trigger about 0.4 second , then the LED will flash quickly 10 times to confirm. (release the trigger when it flashes)  and then , you move to next step:

4.- The LED will blink TWO times , to tell you to use table 2

  table 2 (off,off,off,off) is default.

5.- The LED will blink THREE times , to tell you to use table 3

table 3 (setting 3 is default)

6- When you selected the fire rate , using the same dip-switches as before , Press Trigger (as described in step 3).

7.- The LED will blink THREE times , to tell you to use table 4

table 4 (setting 13 is default)

8.- The dwell should be set to 40ms  (on-on-off-on) which will give good functioning rainmaker , then decrease until you get a little blowback. when done , press trigger. (as described in step 3)…

9.- The LED will blink Four times , to tell you to use table 5

table 5   (setting 3 is default)

10.- Now you can configure the size of one burst , (used if burst mode enabled) ,, press trigger when done. , then you are ready to play.

Additional information :  No settings are saved in EEPROM until table 4 is done , after that ,the new setting are in-use , and the board in back in “shooting”) mode – no reboot necessary.

All those settings are saved in EEPROM , and will not be lost for over 30 years after battery is disconnected.



  • Q: What do I get ?
  • A:  A assembled Painmaker PCB with processor , battery-connector ,and trigger-switch  basically everything you need , All you need to do is to connect two wires to the MAC-VALVE.
  • Q: Can the Revolution or Evolution loader-mod damage my loader or the voltage from loader damage my Painmaker) ?
  • A: No , the output to the loader and the loader itself is electrically isolated for 4000 volts. (that’s what the optocoupler does)
  • Q: Will the Revolution or Evolution loader work as usual when the Painmaker board is disconnected ?
  • A:  Yes. The loader will work if it does not sense a ball OR when it gets a signal from Painmaker board.
  • Q: What is dwell setting and why would I like to mess with it ?
  • A: at a given fire rate , let’s say 10 bps , each cycle takes 100ms (milliseconds) , there are mainly two big “events” that need to be done during those 100ms , the shooting starts with closing the chamber , the ball is fired (valve opened), ….and the second part : the chamber is opened , to get another ball , so it’s ready for the next shot. ….. Now , by decreasing the dwell (the time the chamber is closed) you will increase the time the chamber is open , and that’s just what you want.   The main reason that you cannot shoot continuously 16pbs is that there is no loader that would feed the balls fast enough , that would need to be forced feeding , not gravity based , so no revolution or evolution will be able to provide enough paint.  By reducing dwell time to the shortest working time (before you get blowback) , you increase the time chamber is open , and increase the chances a ball have to be loaded , when balls do not have enough time ,(too high ROF, and too little time) you will fire blanks. and very louse paint may break (be chopped) remember 2 things : one.-  Rainmaker does not normally chop half-loaded balls due to very cool construction , you can stop the bolt using a finger  , not recommended with stingray ,    and two : decreasing dwell time to the point where blowback is significant , will NOT help the loading time. Remember the credit-card test.


  • To check/verify if it’s tournament-locked , according to NPPL rules , : check that all 4 DIP-Switches are in OFF position at boot, if they are , then it is locked , put a tape over the hole to “seal them”
  • Locked mode can be verified even more easily :  When battery is reconnected the Tournament-OK feature will quickly flash the LED 3 times  if the Painmaker is locked .
  • As most other markers , if user is disabled from reaching the switches during game , (the grip rubber is screwed into place or there is tape over switch-hole)  , it’s locked.
  • The Painmaker cannot change from locked mode without  modifying the switches AND rebooting (resetting power by disconnecting it, and reconnecting after 1-2 seconds).


Trigger Modification :

The trigger mod have been planned since I started the Painmaker project. The Trigger Modification gives (measuring on the end of a 2 finger trigger) only 3mm movement between released trigger and “trigged”    , this makes quick shooting more accurate and easy , the switch can be found at it’s part # is :35-677-24  , datasheet .   the switch life multiple millions of cycles.

Paint Them All – Let Referee Sort Them Out 🙂