MITERS is the greatest thing that has ever happened to the world (or specifically just me), but while it has copious amounts of tools, test equipment, machinery, and an almost gratuitous amount of parts, it lacks space. Having been to other non-academically affiliated hackerspaces (such as Freeside Atlanta), I realize how outclassed we are in our capacity to host projects. Despite that, we’ve stacked up a whole bunch of “large”, generally vehicular contraptions, including the beloved LOLrioKart.

LOLrioKart takes up a good portion of floor space in the back half of the room and is occasionally used to store all my crap. It’s also a pain to move around because of its mass, and a pain to work on the electricals because they are all very low to the ground. If I want to test the drivetrain, I had to lift the kart and balance it on a set of automotive jacks. Don’t even mention that time I had to swap the battery packs…

So for a while, I had wanted a lift or crane to suspend the kart from. I didn’t take the idea seriously until Spring term ended, when I started looking for options. I became partial to a ceiling-mounted hoist because of the ability to send the kart all the way to the top for storage and extra floor space.

The kart only weighs about 200 pounds empty, which is a essentially trivial load in the world of winches and cranes. MIT building N52 used to be a factory, and factories in the early 20th century were built to last forever. The ceilings are all solid concrete, more than a foot thick. Essentially, almost anything would have worked, and I briefly considered just gearing down a beefy DC motor instead of buying a specifically designed winch or hoist motor.

But as luck would have it, Craigslist produced a pristine example of an ATV winch for sale locally, so I quickly jumped on it.

This Master Lock (I thought they just sold locks, but I was wrong) unit seems to be a pretty standard offer in the world of cheap generic utility winches. It made some substellar sounds when loaded and the drum finish was pretty rough, but I’m going to assume that it won’t kill me. Too badly, anyway.

The mounting holes in the winch frame were located in a place where I couldn’t access them with a powered screw driving tool. They were designed to be mounted to brackets first, which are in turn mounted to your choice of stationary reference frame.

…so I had to devise my own. This 3/8″ aluminum plate was just hanging out in the cave of materials. I could probably have waterjetted any number of small robot parts from it, but hey.

The two large middle holes are countersunk on the other side to fit 5/16″-18 socket head cap screws. The six surrounding holes are countersunk to fit some 1/4″ flathead concrete bolts. MITERS had a large stock of “tapcon” style concrete screws (which do not use anchors), probably from back when we bolted stuff to the ceiling all the time.

Because bolting things to the ceiling isn’t exactly a precision machining activity, I used spraypaint and sprayed a pattern into the ceiling, using the mounting plate as a template.

The winch itself is mounted using two 5/16″-18 socket head cap screws and grade 8 nuts and washers. This should not be the first failure point.

A little while later…

I borrowed a hammerdrill and a 5/32″ concrete bit and went to town on the ceiling. Reportedly, the hammering noise was ungodly loud, even on the third floor. I guess that’s what happens when you bang on a solid concrete building.

I learned that a hammerdrill is best used not under intense drilling pressure, but rather under modest pressure. If you push too hard, you dampen the chiseling action and the effect is diminished. This was well reflected in me taking almost half a minute to drill the first hole – but the last only took 5 seconds.

Unfortunately, attempt #1 to mount the winch didn’t go well. I made the mistake of reading a different box of screws (which specified a 5/32″ drill). 1/4″ tapcon screws need a 3/16″ drill. The difference meant that I managed to shear off the screw halfway into the final depth.

Epic fail.

I quickly went back with a 3/16″ bit to expand the other holes, and the rest went well. Friends and cohorts spotted the high-altitude work and helped hold the 25 pound winch up while I drove in the screws.

But after much sweat, concrete dust, and loud construction noises…


Well, at least I know my five-bolted rig can hold up 1 LOLrioKart. The only power supply strong enough to supply the current demand of the winch was a big Optima lead-acid battery.

Because this is a shady winch being held up by shady screws into shady century-old concrete, we started piling heavy things into the kart to see if we could find the maximum load. Helmets and face shields were aplenty during this exercise, because even if the kart was only 1″ off the ground during it, the falling 20-odd pounds of steel were a concern.

Things piled into the kart include two truck disc brakes (60 pounds), the lead acid battery (50 pounds), the Defibrillator (a.k.a the kart charger, 25 pounds), one brushless Etek (25 pounds), a huge linear power supply (25 pounds), and a milling vise (40 pounds). Powered lifts and interrupted drops were attempted to put force on the mounting, but it was solid. I think it’s proved itself.

Assuming I did install the screws correctly and that the concrete is not crumbly, each 1/4″ concrete screw is rated to a maximum of 1,100 pounds assuming a 1.5″ depth. There are five holding the plate to the ceiling for a cool ultimate tensile strength of 5,000 pounds. Even accounting for imperfections, the winch should stall long before the screws pull out. It’s still unlikely that I’ll ever allow anything more than the kart by itself to be hoisted, or items of similar weight, because it can get overhead and that can end badly.

Yup, it’s a hoverkart. Any questions?

Kartroller 6: The video

As promised, here’s a short highlights clip of the Kartroller 6.

…so it’s actually just a very small cross section of all the testing that’s been going on. I’ve been thrashing the new controller mercilessly. Never before could I throw the kart around like that without the risk of something setting on fire – but it’s been bulletproof.

That J-turn took about 15 tries to get right, by the way, and it still isn’t quite up to spec. I’d need much more space to do it correctly…

I am satisfied. Next: 6 quadrants.

Kartroller 6: The Wrapup

Unhappy aluminum spacer is unhappy.

As of about right now, LOLrioKart features a full bidirectional and regenerative motor controller. This might not be true soon since I still have to perform stress tests, but nobody can point at me and say PICS OR IT DIDN’T HAPPEN either because there are pics and it did happen!

Continuing from Day 1, here’s most of the high current bus wiring. I was able to salvage much of the weird grounding strap/braid from the previous controller to use on this one, since it had much shorter wiring spans. The braid is much more flexible than the equivalent amount of ~6 gauge wire, and passes right through the copper screw lugs.

Also in the picture is the large 10 ohm power resistor that shunts the contactor. It’s the precharge resistor for the bus capacitors. I included a check in this iteration of the software to prevent the motor driver from outputting any power if the contactor itself is not latched. When not latched, the logic can still draw power through the resistor.

Check out the double bus capacitors. Some 8 gauge noodle wire links the caps in parallel and also to the  gigaFETs next to them.

It turns out that 3900uF of bus capacitance isn’t really enough, so I might have to double-deck the caps later on.

Now comes the enormous 375A Anderson powerpole. Since the whole controller is upside-down this time, I decided to put the Etek on connectors. I received a set of these for my birthday as a gag gift (they were spraypainted red and black to prevent me from plugging them in backwards!).

The pigtails are 2 gauge welding cables. The kart seems to feature  a very diverse conductor menagerie, ranging from 10 to 2 gauge. Overall, the longest runs get the biggest gauge, so I think it all balances out.

It’s time for mounting! I found some abnormally long wood screws, so just decided to use them to mount the controller instead of trying to use machine screws and tapping plywood like last time.

I was too lazy to actually draw out the mounting hole pattern on the wood first, so I just set the controller up on the machined standoffs and dimpled the wood in the center of each hole with a punch. Then the wood screws were too large to thread themselves into the wood without splitting, so I pilot drilled the dimples. All the precarious controller balancing and punching probably came out to more effort than just drawing the mounting pattern, but hey…

The main battery connector and power switch are located across from eachother, joined with the shortest possible wiring runs. Overall, I cut a few inches out of the amount of wire needed to link all the parts together.

Here’s a look under the upside-down controller. I probably could have dropped the standoff height another half inch so the wires keep themselves in place.

Alright, now we get to my favorite part of this controller design – the entire reason why I chose the Epic Heatsink of Epicness and the upside down design: the case mod.

Two 120mm LED fans park right on top of the Epic Heatsink and tap off the 12 volt line. They are probably the worst possible choice for real controller fans, since they flow as much air as I do by sleeping, but look at how awesome they are.

I dropped the assembly in for a quick test spin of the drivetrain. To my utter surprise, nothing exploded on application of battery power. This is a new development in the line of Kartrollers – generally I have to rebuild it every time I plug it in. The precharge circuit works much faster than the old one now, and without danger of being set on fire by the motor trying to pull current through the bypass resistor.

Downside: That’s probably the most awkward possible place for the battery switch.

Well that didn’t last long. The first wheels-up test resulted in a sudden and mysterious total system shutdown after entering a particularly stiff period of motor braking. No fire, just a sudden crowbar-like effect. After half an hour of diagnostics (the gate driver chips were both toasted and replaced), the controller worked again… barely.  It managed to spin a small test motor at about…. 10 RPM or so.

The above high-side scope trace led me to discover that, horrifyingly enough, I was using bootstrap diodes at almost twice their rated blocking voltage.

The bootstrap diodes are pointing towards the brown capacitors in the picture.

I randomly picked some diodes out of our “power diode” bin which turned out to be 1n5819s on closer inspection – rated to 40 volts absolute maximum. First off, the kart battery was 60+ volts charged, and on regenerative braking, the voltage spiked beyond that. Hitting the brake hard most likely resulted in a mortal blow for both diodes, momentarily firing( x >> 12.0) volts into the 12v auxiliary bus.. This caused the DC/DC converter to freak out and shut down, powering everything off.

Better than setting everything on fire.

The diode carcasses still conducted a little, just barely enough to make the high side FETs also  conduct just a little to run the test motor.

The solution was to replace them with some more random diodes from the bin. This time, they were 1n4007s, good to $MORE_VOLTAGE_THAN_THE_KART_SHOULD_EVER_SEE (namely, 1000 volts).  The test motor almost flew off the table, a good sign.

The negative current is a sign of the regen brake working! Negative current in this case means it’s going back into the battery bank.  This was captured by revving the kart drivetrain up to full speed (a scary ordeal with it balancing delicately on an automotive jack, by the way… if it fell off, it would probably have broke into TMRC) and then letting off the throttle. The synchronous H-bridge took care of the power conversion.

So what always happens after I quickly check that the vehicle works in midair?

Yup. With the reverse switch and brake pot still dangling precariously off the terminal strip, I hurriedly threw the throttle back on and took the kart out for a hallway joyride.

…but not before rigging myself an easily accessible emergency stop. The little chunk of wire is normally wedged into the contactor switch terminals, turning it on. Making sure I was tied to it at all times meant that I could quickly disengage the contactor if… stuff happened.

Fortunately, it wasn’t necessary. There’s not any test video since I decided to save face in case the whole thing detonated in the middle of the hallway, but rest assured video is forthcoming. After doing the drooping-wire test run, I decided to clean everything up and actually consolidate the controls into one easily-accessible location.

…yeah, um, so my user interface design skills need some work.

But the whole thing is conveniently located and fulfills its requirements. The Big Red Switch is a legitimate emergency stop button now! It opens up a normally closed circuit when I pound on it, turning off the contactor. As some people may remember, the previous kartswitch was actually a normally open button, so you had to push to engage and pull to disengage.

The direction selector is located next to the Big Red Switch , and above it is a potentiometer to adjust the drag braking force. This pot should really be a logarithmic pot, since the filter time constant calculation behaves exponentially near zero – very fine adjustment of the pot yields very large coast/brake differences at the “coast” end of travel.

The current-voltage-micrometer makes a return.

And here’s the whole nest from the other side.  I was lucky to find an “INCREASE OUTPUT” knob, which really should have been reserved for cruise control.

The nest enters into the terminal block in a neat and orderly fashion.

A new day and an overnight trickle charge on the batteries means plenty of testing and fire to come! Stay tuned for more pics and video of Syncrec LOLrioKart!

Kartroller 6: The Blitz

Poor LOLrioKart.

LOLrioKart in a forest of scooter handlebars

After being totally whored out for CPW by giving rides to prefrosh and generally being hooned around campus, I remounted the kart sound system to use as a portable music device and all-around pimpmobile for Mini-Maker Faire the weekend after. But thirty minutes before departing for the Faire, I powered the kart on.

Nothing happened.

It wasn’t a spectacular explosion. It wasn’t even a smoke column or a quiet sizzling sound. Through a half hour of diagnostics, I only managed to deduce that the gate driver stopped driving the gate. The power FETs appeared to be fine. Whatever – we were late already, so I just pushed the kart a mile or so to the Cambridge Public Library where the event was being held, blasting bad eurodance and girl pop along the way.

Afterwards, I decided to just remake the controller, yet again. The latest iteration, version 5, did work, but was haphazardly put together (i.e. pretty par for the course). I wanted something that had more structure than a bundle of wires. I also wanted to keep advancing on the number of features and simplifying the schematic. This resulted in the great gate driver hunt of 2010, out of which the IR2184s came.

As described, the existing controller core is kind of a kludge. It was just an Arduino with a protoboard shoved onto it which had the gate drive componentry. Alongside was a 12v DC/DC converter. Everything was just packed inside a little box with foam bits, and not otherwise secured.

Running the controls in open air for half an hour to diagnose the latest failure resulted in me discovering that the DC/DC converter got hot. Way hot – hot enough for it to shut itself off, which explained alot of kart flakiness.

So I did what any shady college engineer would do given a totally rigged and quasi-functioning project – rip everything the hell apart.

I dismounted everything and took the mounting board out of the kart.

The big black slick in the righthand corner is from grease and oil being thrown upon it by the drive chain.

Let’s begin again. We start with an epic heatsink:

I found this in the materials cave at MITERS. There are a few reasons why I wanted an Epic Heatsink, the foremost of which is epicness.

The other reason is modularity. At 300 x 200mm, this heat sink had enough area on its back to mount practically all the core componentry. I wanted to move away from point-to-point hardwiring onto something a little more modular, like a commercial controller.

Mechanical issue: Only one side of the heatsink had space for mounting holes or other provisions. The other seems to have been trimmed off by someone else.

It just so happened that removing the bent fin would open up a width on that side of the heat sink equal to the width of the flange on the other.

…so that’s what I did. Remembering a trick someone showed me a while ago, I slammed the heatsink on the mill and cut down the bent fin.

The 3/4″ rod fits into the 5/8″ T-slot on a Bridgeport mill table and provides a straight edge to bump a long part against, for axial trueness without resorting to hammer bashing and a dial indicator. Normally the rod should be precisoin ground or otherwise some length standard, but in this case, “precision” meant “closest one to me that qualified for diameter”.

With the edge cut down but no holes drilled yet, I started laying out the components. There were a few iterations – this is the first. The FETs would be centrally located so one fan can blow on the back of the heatsink to cool them. The Arduino would sit right next to the gate pins.

But that was before I found these cool double capacitor holders, which allowed me to pack on more bus capacitance than the kart currently had (2400uF to 3900uF) and keep it on the heatsink mount. Of course, caps like this don’t need heatsinking themselves, but the mounting surface was there.

Through more cramming, I decided to also move the contactor onboard, such that the unit was essentially self-contained. Other parts of the power system, like the battery cutoff switch, terminal blocks, and power connector, would remain offboard.

I took a quick break and laid out the parts. The heatsink itself already had quite a few holes drilled in it from its previous, more legitimate application, but sadly none of them lined up. Thus, it was back to the mill to drill the mounting holes, which was a rather boring half hour of trying to match a digital readout with a hole chart.

Some screws and washers later, and the pieces are mounted. The contactor is case-grounded, and my intention was to keep the heatsink itself isolated. So, it’s secured by large nylon screws and insulative washers.  The Arduino and capacitor block are mounted with nylon standoffs.

The DC/DC converter has an isolated case, so it was bolted straight to the heatsink. It will probably be alot happier this way. It, and the two Ixys gigaFETs, got a liberal coating of Arctic Silver thermal compound on the bottom.

Here’s the new driver board. It’s another Arduino-perfboard assembly that houses two IR21844 dual gate drivers. Unlike Kartroller 5, the high sides are bootstrapped, not supplied via isolated regulator. I decided this was a good simplicity tradeoff.  Additionally, it’s much more failsafe – the boostrapped high side can’t maintain 100% duty cycle, so it can never get stuck on like the low side drive can.

The wiring nest on the underside, in typical me-fashion. I’m using some cool 30 gauge solid tinned wire that has very unique insulation properties. It doesn’t smoke or burn when it contacts a soldering tip, but rather just melts out of the way. It’s very thin and easily damaged.

But those same properties let me just mash the wire into the solder joint with the tip and it will automagically fuse with the solder ball that’s already present. This has enabled me to just go pin-to-pin and link up an entire net very quickly.

I think it’s wire-wrapping wire, but I’m not sure. What is it and where can I  get more?! MITERS is almost out!

Check out the integrated signal terminal block. I even labeled it so I don’t forget which wire goes where!

Most low power wiring joined. Notice the small 5mm power plug coming out of the DC/DC converter and into the Arduino. I figured it was better than soldering directly to the input pins…

Here’s the gate wiring from the Arduino shield to the FETs. Gate resistors are integrated into the heatshrunk portion of each cable end. I really should have local pulldown resistors too, but elected to keep those on the shield.

The rightmost gate wire got red shrink because I ran out of black.

I began to add other signal interfacing hardware to the shield at this point. First to be completed is the contactor detector. It’s a wire (the red one) connected to the contactor (through a resistor divider) which enables the software to see whether or not the contactor is latched. One of the problems with Kartroller 5 is that it just let me (or someone) gun the throttle even with the contactor was in the precharge state.

This just caused the controller side voltage to fall under 36 volts, resetting the DC/DC converter, thus shutting the logic off. In turn, the FETs turned off, causing the voltage to rise again, which… well, it led to an unhappy cycle of kart-twitching until I reached for the battery switch.

The next few lengths of wire connect the Arduino to the important I/O – throttle, brake, and reverse.

With all the signal side wiring done, I could start on the software. Here’s a makeshift user interface with a throttle pot, a brake pot, and a reverse switch.

Read more “Kartroller 6: The Blitz”

Gate Driving your Way to Victory

As previously illustrated on this site, LOLrioKart’s motor controller is one big lesson in power electronics that I’m learning as I build it (…and blow it up…and rebuild it). While I must admit that it’s frustrating to have a controller that never really works, and which just sits on the metastable edge between functional and explosive, it’s a valuable learning experience to figure out exactly how to steer this edge towards the functional and reliable side.

You know, like finding out that your oscilloscope inputs are grounded so you absolutely shouldn’t probe a floating ground with it because it’ll dead short your power supply through itself and everything else in the path. Many times.

I found out that’s reason #1 why Segfault’s dual custom H-bridges all exploded. Live and learn, I suppose.


Another dominant cause of power amplifier failure is shoot-through, or cross conduction. In your average half-bridge circuit, the worst thing that can happen is your top and bottom side switches on the same leg being turned on at once. That usually results in very high pulsed current draw from the power supply, then…

Alright, so it’s not that bad. But shoot-through will generally blow fuses, melt wires, or destroy an output component (in the worst case causing it to fail short) if you‘re not a pussy don’t use fuses like me.  3 phase block commutation generally avoids this shoot-through phenomenon because it ensures the top and bottom sides of one phase are never switched consecutively.

However, DC motor drivers do not have that luxury, because there is essentially only one phase to switch. Therefore, whether in software or through hardware, provisions are generally made for shoot-through protection. It usually takes the form of a section of delay-circuitry, combinatory logic, a delay state in software, or if you’re Shane, driving optocouplers in inverse-parallel because they form a convenient delay circuit already.

During the times I have experimented with full-bridge or half bridge DC motor drivers, I’ve generally used a variant of the delay circuit presented in 6.131, the same one that is documented on Segfault’s progress report post. It takes a while to make, is nonintuitive, and more complex than it needs to be, taking up 5 of 6 inverters in a 7414 hex inverter.

For a little while I’ve been searching for a FET driver chip that has this function built in. After some digging on Digikey and places like FindChips, I found the IR21844.

Like the Ixys IX6R11P7 chips I favor now, it has a standard low side driver and an isolated, bootstrappable high side. The difference between the 2184(4) and the 6R11 is the input. The 6R11 takes two individual inputs, one high and once low. They do not affect eachother, and you could build in a self-destruct mode for your controller if you wanted because it can command both switches to turn on at once.

The IR21844, however, takes a single input and splits it internally into an inverted and noninverted output. So that means if your input is logical low, then the low side is on and high side is off – and vice versa. Not only that, but it also has internal shoot-through protection (IR calls it “deadtime”). Even better is that the 21844 variant allows you to tune the deadtime to the taste of your favorite mutant semiconductors.

It basically tells me that I wasted a year fumbling with this crap when someone already made something I can just buy – like everything else in life. The 21844 comes in 8 and 14 pin DIP through-hole components (+1) as well as SOIC (ewww… but handy if I ever come out of the course VI closet). And so, I gave a few quarters to the Internet semiconductor gumball machine for some units to experiment with.

Here’s the test circuit I rigged together using the schematic found in IR’s datasheet. I’m reading the two outputs using two channels of the MITERscope. The input is a 50% duty cycle square wave, 5Vpp and 10Khz. The single potentiometer is a 100Kohm unit that I’m using for deadtime adjustment.

See? I wasn’t lying. One input to the 21844 is split into two complementary outputs.

This scope screenshot is actually a little deceiving. The vertical scale is 5 volts per division and the zero levels are located on the X axis (channel 1) and 2 major divisions down (channel 2). What looks like the two square waves not meeting in the center is actually them overlapping. I should have used a wider division setting.

What’s really interesting – and what sold me on these – is the built-in deadtime.

Check this zoomed shot of the above square waves. What you see is an approx. 1us delay between when the low side turns off (channel 1 high to low) and the high side turns on (channel 2 low to high).

This is good. This break-before-make behavior ensures that your +V and GND rails never see eachother in the middle.

Even better is the fact that it does the exact opposite thing on the other side. On a low-to-high transition of the output, the high side turns off before the low side turns on again. Again, break before make. This proves that one output isn’t just a time delayed version of the other, it’s legitimately being trimmed to fit neatly into the other.

One implication of this is that the high side will completely shut off at a point before 0% input duty cycle. This seems to be inherent in the nature of delay stages and I conjecture is part of the reason why control deadbands exist. Complementary to this, the low side will completely shut off at a point before 100%, which must be considered if your drive circuitry is bootstrapped on the high side i.e. does not have its own isolated power supply at all times.

The deadtime adjustment is internally grounded on the 2184 but brought out to a pin on the 21844 variant. You connect it to ground through a variable resistance of your choice – datasheet page 10 gives a rundown on deadtime vs. resistance.

As advertised, the deadtime is adjustable from about 400ns (0 ohms)…

…To roughly 2.5us when my 100Kohm pot was pegged. The 21844 appears to support deadtimes of up to 5 microseconds.

Indeed, when I just straight yanked the pot out of the circuit, all the output shut off. I suppose an infinite deadtime is just like being permanently off.

With this in mind, I went ahead and made a little buck converter just like I did in 6.131. I used two IRF2807 FETs that I had leftover, running in bootstrapped high side mode. It was still running on the 50/50 square wave input. Will it work? Will everything explode?!

Well, what happened first was that I shorted the high side through the scope probe, killing half of the 21844.


That’s why I bought a rail of 30.

But then it worked! On the (real) first try, even! That is, well enough to totally smoke a power resistor of too small value while I wasn’t watching.

hey guys i made a power electronic widget that worked on the first try do i win a prize do i do i do i

The next stage was to replace the resistor with something more meaningful. Something that actually does some useful work besides making a small smoke column… I mean, it can do that too, but it should be designed to do otherwise.

I have an idea – let’s try a DC motor!


I probably played with this thing for half an hour – just gunning the motor, then quickly dropping the duty cycle and watching the power supply’s voltage spike up. This half bridge circuit brings me one step closer to a 4 quadrant synchronous regenerative drive for LOLrioKart, and who knows what else. To add the other two quadrants, I just need to make another half-bridge and connect the motor up between them.

Speaking of LOLrioKart, can these little driver chips actually handle semiconductors the size of those I have an excessive amount of? One way to find out is to try driving the gate. This is an IXYS VMM65001F, good to 100 volts (same as a Swapfet) and 680 amps, which is at least three Swapfets. This is a bigger transistor than LOLrioKart can ever hope to push. Just because of that, it’s a good example to test the 2184s on.

Also because it is a convenient half-bridge module, and two of them will easily make an oversized H-bridge for said LOLrioKart.

I drove the gigaFET using the bootstrapped high side.

It took a full 1.7us to turn on, where I defined turn-on as the gate voltage reaching approx. 67% of the drive voltage. There are many ways of defining “turn-on”, this is just one of them.You can even see a little bit of the “Miller Plateau“.

This is not bad given that the on period is very long compared to the switching period. During this switch is when the FET acts like a resistor, dissipating power. LOLrioKart’s PWM runs at 4Khz, which is a half-period of .125 milliseconds, still about 70 times longer than a switching cycle. Not the best, but most likely better than anything else I have on the kart at this moment.

And the turnoff occurs a little faster, since the gate voltage only has to reach 4 volts before it falls under the threshold voltage. The turnoff itself is mostly clean.

So where does that leave me? I now have a method of switching a half-bridge in an orderly manner, without external glue circuitry. I also happen to have enough large semiconductors to make a 600 amp peak capacity H-bridge. I have this dumb shopping cart with a motor on it.

Will there be a kartroller version 6?!