Schnitzelwolfs Raspberry Pie Estim - How to give input?


I am new here.

I found a very interesting new project here

The idea to develop a new Estim Box as an open source project is really great!

Unfortunately I have not found a way to forward input to Schnitzelwolf.

Does anybody know how this can be done? There is no email address or other way to contact him on the website.



1 Like

He has a user here @schnitzel, try a PM. I am wondering how he is getting on with his SMD version.

it will not work. needs to make some changes in component’s values

Can you say which components and which values?

no, needs to check(

FQD17P06 may be differ in linear part of characteristic. gate threshold voltage looks like the same as in mk312 but needs to assembly and to tune work point of mosfet (or change mosfet).

and needs to look how it will work from single 9V power source because of noise. maybe needs to put some capacitors/filters. and because of that mk312 have 2 * 9V power sources(
this schematic has current surges when mosfets is turned off. so there may be some interference between channels

P.S. big schematics

I guess that is only a problem if both channels are pulsed at the same time. With a pulse width of ~500us and a frequency of 250Hz, there is plenty of time to separate the pulses in time. Even if there was some noise, would anyone notice? We’re just driving current into a lump of meat.

I hadn’t previously wondered why two 9V regulators are needed, now I think of it, I can’t see a need for two.

How can I send a PN to a user?

Hey, I’m surprised on the interest.

I’m open for input on the project, I’ll see about uploading all my info to github for people to contribute on an issue board.

A bit of background. I am not in any way qualified in electrical engineering or circuitry. I was a soldering technician for a good portion of my life, and have hobbied with electronics for years, mostly digital. My profession is actually a programmer, mostly in java, C, node js, and various frontend javascript frameworks.

I started the idea on this project when I found the MK312BT to be too complex of a project on old hardware. I attempted making an SMD version with the expectation of making things cheaper, but reproducing it almost 1-to-1 with the alteration of a lithium hobby battery to enable recharging, and smaller form factor. The costs just seemed to get out of hand, especially considering there are cheaper ways to approach the same concept, which opened up the idea of the raspberry pi estim.

I knew going into this I’d have problems to debug, and reitterate on, just because of my lack of knowledge in analog circuitry. I was also very unsure if having so many channels would be possible, maybe there would be interference that would cascade as more channels get triggered, might be issues with current draw. I’m not sure what to expect.

But from that, I’ll spend the day compiling the work I’ve done, and put it up on github.

Here is the github repo

I noticed that a number of my images on have broken links. I moved hosting providers, I will correct the issue shortly.

@schnitzel Are you intending to continue with MK312-SMD development?

I have been working on an SMD version based on yours, with the goals of keeping MK312 compatibility, reducing cost and using a COTS enclosure. I should get some PCBs next week.

I have words of caution on the circuit. The LDO circuit will not work for charging. I selected one thinking it was current limiting, when it’s actually just current protection. Being that it will just shut off after too much current has been pulled. So it will only work with the DC block no battery, or a battery already pre-charged, with no DC block connected. Next, the value used for the resistor on the LCD backlight is incorrect and will blow out your backlight. Also, I had to do a patch on the firmware to get it to work with the LCD. The LCD does not send out a ready signal like the old LCD, and I had to bi-pass the function check on LCD ready.

So those are things that will need to be reworked. There is also something unusual going on with the current detection on the current resistor for the mosfet/channel circuit. I haven’t been able to figure that part out.

I might continue on the project, part of what slowed my progress, is that when I was working on this project, I didn’t have a job at the time, I was taking an “extended vacation”. Then I started working again and there was a really big project I had to do in a short amount of time. Things are very relaxed now, but I am now looking to buy real estate. So in a number of months, yes I’d like to pick up some circuit projects again.

Also I haven’t entirely confirmed the LCD entirely works, I have had issues with it, might be a good idea just to go back to the original LCD.

I’m pretty good with analog hardware (just completed my own PIC based boxie, now testing it) and I really liked your RPi breakout board. I’m a big fan of Raspberry Pi anyway. If you would like some insight I’d be happy to look deeper into it and aid with the hardware design. PM me in that case.

Ok, thanks for the info. I wasn’t sure about the charging circuit, so I had expected I might revert to the original SLA battery design. I intend to use an LCD compatible with MK312 so that should not require patching, as well as being cheaper.

On the MK312 SMD Version Crashing thread a user reports that he got your SMD version working with modifications so that gives me some confidence that I can too.


I have several inputs for this project. To allow an easy followup and discussion I give them numbers and a pointer which topic to address. Here is the first one:

Input #1
Adresses: casing

There is a nice casing setup for the raspi: It consists of an 7“ touch screen display and a controller card.

This fits smoothly into this case

The case can hold the displaycontroller card.

Up to here its all standard.

My input is to use this case for the breakout board that Schnitzel is currently designing and put a second case with the generators in a case below this touch case together with the batteries. If you use screws to connect both parts it will become a nice system with a large touch screen.

Here is a pic of a Raspi 3 b. v1.2 in this case seen from the rear when opened.

From the hdmi plug on the pic to the rear plate there is about a cm space for a possible board. If you wish I can provide a measured drawing.

Many greetings


Input #2
Adresses: PCB size

PCBs can be manufacured extremely cheap, if the size is not larger than 10x10 cm.

Here is an example

They sell 10 pcs of pcbs for $4,90.

When I design larger devices I often build them in modules below this size. With SMD parts it is usually no problem.

In this case a modular design is planned anyway. So it would make things cheaper if the size doesn’t exeed 10x10 cm. Below this size any shape is possible.



Input #3
Adresses: Safety - overvoltage protection

We are dealing with quite high voltages on the naked skin.

If anything unforeseen goes wrong I would like to have something that limits the output voltage in hardware. I believe a varistor is a good choice. Here is an example randomly chosen.

I am not saying that 150V is the correct value. This needs discussion.

Another possibility is to use two supressor diodes.



Input #4
Adresses: safety - emergency Stop

A rapberry pie is a complicated machine with a lot of software and systems that can crash.

It might even be that in a dark or dimmed environment a human error might go to unwanted results.

Instead of scrolling through menues an to try in stress to switch of the machine an emergency stop button is a recommendable option.

Something like this tiny one

Might be nice. Electrically it should safely disconnect the high voltage drivers.

Using a microcontroller one could go one step ahead and install a no and 2x nc contacts. The microcontroller would disconnect the drivers additionally to the nc contact e.g. by a fet an would enable power only if the no contact has been closed. This would exclude errors of the switches in case of malfunction since the no contact needs to prove functionality before switching on again.

This scheme is used often in industrial safety relais.



Input #5
Adesses: timing

It has been discussed here that it might be problematic if all power stages are fireing at the same moment.

A small microcontroller or a counter could solve this issue:

A counter at the system clock with a selected divider could generate a sequence of pulses that can be distributed over an adress line that enables the power stages a little bit delayed to relax power supply.



Input #6

Adresses: software - Audio connection.

Of course the raspi should be used as mp3 player for this project.

For estim some powerboxes allow an sound input to steer the strength of the stimulation. Usually the powerlevel of the music is multiplied by a constant gain factor and steers directly the output.

Especially music that has a large dynamic range can lead to problems in eplay. E.g. a silent intro would provoke top to increase the gain and a sudden, unexpected increase of the music level would lead to a too high output and unwanted pain for subbie.

This problem is known in the music industry well. Music studios use a combination of compressor and limiter for controlling the volume

A compressor is a automatic gain control. That means that the level of the music is constantly monitored and the gain of the output amplifier is steered in a way that drives down the gain for loud music parts and increase the gain for the silent parts. As a result the power level is equalized. Using regulators the level of compression can be selected for more or less compression.

A second device, often used in combination with a compressor is a limiter.

A limiter cuts all voltages over a selectable limit. In e-play the advantage is the full control over the maximum applied powerlevel. No accidetial pain can happen. And if intended the level can be released upwards as partof the game.

I would suggest to include this in the software part on the raspi. Maybe there already exists usable software modules for this. Audacity is an example.

More reading here



Input #7
Adresses software - interrogation mode

Imagine an interrogation scene: confess or you will suffer …


This is a mode that I have not found in any estim box.

To control I would recommend to realize such functionality in the raspi software providing following controls

Power dial - to control the strength of the pulse
Duration - to control the duration of the shock
Pulse numbers - to predial a number of shocks.
Start button - to start the shock
Stop button to abort

This would enable a lot of nice plays.