Archive for the 'MIT & Boston' Category


Reassembling a Bridgeport J-head with Uncle Charles! And More About Hooking Up Your Annoyingly Chinese VFD

May 26, 2017 in Reference Posts, Shop Ninja

You know what? I’m tired of having sweet-ass machinery sitting around not hooked up. Last time in “Charles takes forever to set up his own shop because he’s sick of setting up shops”, I did some battle with a generic Chinese VFD and completed what the damn factory couldn’t be buggered to by adding the dynamic braking components.

Though Bridget ( <3 ) ran since then, there were some issues. The spindle brake was so worn it was difficult to change tools, and the head made the “Bridgeport Clack” from the high/low speed dog clutch being worn. The motor’s V-belt was also severely worn. I wanted to tear it down for a rebuild of sorts, so I spent a little while watching “How to rebuild a Bridgeport head” videos. I decided that all of these videos sucked, and that I was really only interested in repairing the brake and replacing the timing belt and V-belts.

So here is my documented take on how to take apart a Bridgeport 1J head. In it, I discover that it wasn’t as terrifying as I had thought originally, and that old-school American engineers might commit some abominations but damn they’re good abominations. I guess this is kind of a Beyond Unboxing, too.

Step 1: Dismount the motor, which is retained by two studs, one with a set of two jam-nuts to let it move a little for belt tensioning, and another that’s the ball handle (you unscrew the ball handle and then untighten what it’s attached to). Then, crank the head about the Y axis (roll) 90 degrees.

Six socket head cap screws live underneath the belt cover casting and retain it to the steel back-gear housing. You can take all these off; pins retain the belt cover afterwards, and it needs to be yanked off. Don’t worry, it’s not heavy. But there’s one catch:

The back-gear timing belt pulleys both have flanges. To remove the belt cover means taking off one of the pulleys with it, and that means removing the belt with it. You have to remove the four slotted head screws that keep the pulley flange on. Once it’s gone, the belt slides off with everything, like this:

This setup is quite the abomination. The timing belt has no tensioner – it relies on good will and good spacing. Mine was getting a little loose from the years. While I haven’t run the machine hard in back-gear range to see if the belt skips, I ordered a new belt anyway since it’s a “Might as well” item. The belts, and other rebuild components which will be seen, came from H &W Machinery Repair.

While the cover was off, I cleaned off the thick layer of congealed rubber dust and spindle oil. I didn’t break into the back gear cavity, however – if you do, remove the nut on the big pulley and use a gear puller or Three-Phase Prybar to pop it off, then undo the remaining screws. Some times the gear cavity is filled with grunge; if your machine had multiple owners, chances are it has both grease and oil in it.

I loosened the cover and a lot of remnant oil started pouring out, so I’ll likely keep it together but drown it through the front oil port later.

The second step pulley and back gear timing pulley live with the belt cover and has a large bearing carrier assembly under it. To undo this, I need to remove the shifter mechanism.

The pins that ride in the shifter groove also help retain it completely. Problem: One of them was completely stripped and wobbly. Due to the pressure exerted by loading springs underneath the pulley, I couldn’t get the pin to bite on its remaining threads and back out. So I drilled straight down the center and threaded the hole for a #4-40 screw that I could then grab with pliers and pull on:

The stock machine has slotted head pins; H&W sells a replacement with a hex wrench drive. Here’s the victim screw driven in…

And a few tugs later, the shifter ring is freed.

The pulley then flies off the other side, since there are loading springs underneath it.

And here we have the brake assembly. The brake is simply a phenolic drum brake setup that crams against the interior of the pulley. Nothing sophisticated at all!

To remove the brake, you have to remove the 3 slotted-head shoulder screws holding it down. However, to do that, beforehand you have to undo the three hex nuts on the top side (underside in these photos) – they prevent the shoulder screws from loosening.  After that, the brake can be wiggled off gently. It will snap closed, due to its own return springs, so watch your fingertips .

The small tongue on the upper right of the bearing bore is the cam that toggles the brake shoes.

Many times, when a Bridgeport spindle brake is worn, it means two things – one, that the brake shoes are worn down, but what I found is that the cam had also dug a little trench into the brake shoes where it makes contact. So this has reduced the effective travel length and caused the brake shoe to lose engagement. In fact, it seems like the harder you wail on the brake lever, the quicker you induce this 2nd failure mode.

Also, Brigeport brake shoes are expensive. Speciality exotic part, sure, but I can do all 4 brakes on Mikuvan for less money using nice ceramic pads too! So I wasn’t going to replace these, but simply make the cam bigger.

Returning to the top side, the brake cam escapes if you untighten the set screw holding its handle pin in place. The pin slides out and the whole thing falls apart.  The cam and shaft assembly are on the upper right.

The fix? Make the cam bigger by welding repeatedly over it, building up more metal, then sanding and filing it down! This was after the rough-sanding stage. I filed a gentle round onto the engaging edges so it doesn’t cause further erosion of the phenolic laminate brake shoes.

Alright, we’re now on the reassembly path. The brake cam is going in back in…

Secured up top, along with installed brake shoes and re-tightened locking nuts.

I reassembled the shifter ring after cleaning the whole area and thoroughly greasing it. In Bridgeport maintenance, you’re supposed to oil the shifter ring daily in production use. I think I’m fine with putting in a few greasewads where it needs to be instead of having to clean up even more crusty oil grunge down the line.

The belt cover is remounted now.

Before final assembly, make sure to thread the timing belt and V-belt back onto the pulleys. Then as you line the belt cover on, wiggle the timing belt onto its large pulley.

When finished, you can then replace the small screws and pulley flange.

Putting this motor on was the precarious part, since it involved holding something pretty heavy and wiggling it from an awkward angle! I threaded the two jam nuts onto one side in order to hold it in place for….

Final head tilt. Here are the newly installed parts! And there we  have it. Shifts great, runs smoothly. Still makes The Bridgeport Clack, but further research showed me that is all in the quill spline drive and there is not really a way to R&R that short of replacement. I’m fine with it.

Moving onto controls! I can’t use this thing from a potentiometer dangling by its wires forever. You may, but I have standards.

I put a little money on eBay into some more machine style switches and buttons.

I had two buttons left over from a project long ago, so they were going to be used as the Run and Stop functions. The same potentiometers got transplanted into a panel mount which I screwed into the housings. Knobs were a matching pair (rare! legendary!) found at MITERS.  The two-position switch will control forward vs. reverse.

The wiring was concocted using disembodied Ethernet cord, which is one of my favorites for pirating cables from their intended purposes. The VFD’s Use of Manual™ just showed a bunch of normal looking switch symbols connected to the forward/reverse, start/stop/reset, etc. inputs.

This is where I discovered another great undocumented feature of Use Of Manuals. The diagram was a lie, but only enough to get you in trouble.

I had problems with it accepting my switch configuration. I found that the VFD didn’t want to read my stop button at all, and it accepted any flip of the direction switch as a “run” command. That is, I can toggle the forward-reverse switch for it to change directions, but it wouldn’t take my stop button input. I’d have to hit the STOP button on the control panel of the VFD. After that, I couldn’t start it by using the start button, but just changing the state of the direction switch would let me turn the knob and increase speed again. Well, all of my settings seemed to be correct for the job, so I was a little confused and figured there must be Undocumented Behavior. This was certainly inconvenient to use the damn thing intuitively, and I certainly wouldn’t let anyone else touch it in this condition.

It took a few friends with experience in industrial controls to point out what I was doing wrong.


That is a diagram for a normal industrial magnetic contactor, showing how Start and Stop buttons are typically wired. In these things, the STOP switch is always closed unless something causes it to open (either by accident or on purpose). The Start switch, on the other hand, briefly powers the contactor coil which pulls in not only the main contacts, but a little auxiliary contact that keeps the coil energized and hence the contactor latched. You can see how any number of interlocks (e-stop systems, overload detection, etc.) can work its way into the STOP circuit and turn the machine off when needed.

The VFD is technically designed to replace this setup, so it’s expecting the Stop button to be normally closed. Well, all my switches are N/O type (close when pressed). So the VFD was waking up in an unexpected mode, I guess, where it seems to default to treating any forward/reverse switch inputs as “Okay, start running”. Well this seems a little scary of a failure mode.

Anyways, the Use Of Manual shows all switches as N/O, so it definitely assumes you already know industrial control practices to use it. That’s another endearing characteristic of Chinesium… you better know exactly what you’re searching for, or else you might find it.

Well that’s quick fix. I didn’t order modular contacts with my switches, but luckily they’re manufactured modularly enough to use the same set of contacts, just internally turned upside-down, to become N/C. Now my control panel works as expected – the stop button puts the VFD into slow-down-and-brake, then start will ramp the motor back up to the previous speed it was at. In run mode, I can change speeds at will, including braking down to zero speed manually.

And here’s the test video.

Now that I understand this setup (or do I….), I can build the second control box accordingly. It’s also easy now to add an anti-face-eating emergency stop mushroom button anywhere in line!

The next machine to go online will be Bridget’s cute Japanese friend, Taki-chan!

how about no

A New Beginning, Episode III: Revenge of the Charles

Nov 22, 2016 in Bots, MIT & Boston, Shop Ninja

I’ve been doing a lot of these posts lately, it seems. Just last year, after departing my shopmaster/instructor position with MIT and hence no longer having a workspace there, I moved in to the Artisan’s Asylum, a local makerspace (which also happens to be the largest makerspace in the USA, founded and run for a while by the now creator of MegaBots). Now, barely over one year later, I’ve moved out again…

T H E   E Q U A L S    Z E R O   D E S I G N S   &   G R E E T I N G S   C O M P A N Y

…into something I can finally call “the shop”. God damn, remember when companies had REAL NAMES that didn’t sound like a syllable uttered while asphyxiating a small animal?

It’s about fuckin’ time. The hankering for workspace had reached a crescendo over the past few months between myself and Adam, my long-time partner in hood rat stuff & bad things, also now captain of Team Brutus. My recent contract projects have been bringing me newer, more interesting, and most importantly BIGGER work, and facing the prospect of having to also work on Overhaul again in a few short months (#season3), Artisans was becoming impossible. On the other hand, Adam has simply been making do without a permanent base camp for a while. Given both our proclivities and the rapidly rising prices in the area, it was another now-or-never scenario.


The building: a former clothing & sportswear factory which the company sold to new owners intent on eventually developing it into MOTHERFUCKIN’ CONDOSDO YOU PEOPLE NOT. HAVE. ENOUGH. CONDOS AROUND HERE OR SOMETHING? I digress. In the mean time, which means the next few years as they figure out exactly how ugly to make the new block o’ flats (that building being my local benchmark for ugly as fuck and overpriced construction) they’ve divided up the former factory floor into a few smaller parcels to function as rentable studios or offices, one of which fell into our lap. You can tell I really love the new property development trend in this area.

It’s on a typical “New England First Floor” – which means floor 1.5, with the basement halfway down. and us halfway up. So, no driving vans in, but direct freight elevator access to a real loading dock 6 feet below. In other words, just enough to be a pain in the ass and just good enough otherwise for me to deal, as the world likes it. The inside is stupendously large for both of us who have been conditioned to think that working butt-to-butt in a shared shop with Isaiah the Last Indie Wirebender is natural and acceptable. Nothing against you wire art, Isaiah, but my robots have tried to consume your workpieces several times while I was machining, and they’re really reaching their rebellious stage lately, so it’s better for both of us.

It’s ~2,300 square feet when finished – shown above is pre-construction of interior walls – putting it right about the size of MITERS. The multi-layered heavy wooden factory floor is finished in a classic “Inconsistently Leaking Machine” fashion sure to fetch thousands of hipster Bitcoins per month in the future when it becomes someone’s hotbox closet floor ,because weed is gonna be legal real soon now in Massachusetts! Oops… I mean #MakeAmericaStonedAgain-chusetts

With the beginning of the new shop space, so shall my Artisan’s Asylum presence come to a close. Luckily, most of my life is containerized. Not only did I count on having to move relatively often, as long as I didn’t own the whole damn block I was working in, but having stuff in nicely labeled containers appeals to my inner Jamie Hyneman greatly.  I bought a dozen more totey-bins (which by the way are called ALCs, or Attached-Lid Containers, but searching TOTEY-BIN returns the correct result on Google Images!) to more finely divide some of my parts since they would otherwise get too heavy.

By the way, it’s been physically verified that Mikuvan can contain 24 of these things – 26 if I use up the front seat.

As with moving out of any space or building or home, taking a look back once you’ve restored it to the condition you found it is a little somber. Alas, great adventures lie ahead! Onwards, through the skies, and across the seas… also over a few curbs, because 26ft box truck. You know what? Driving a truck in Cambridge ain’t so bad! You just BIG your way everywhere you want to go! Want to turn left? FUCK YOU! Want to merge onto Route 28 during rush hour? FUCK YOU TOO!  Uber driver? FUCK YOU SPECIFICALLY IN THIS FASHION!


The robots in their new homes, free to frolick in the open pasture… oh, none of them currently work? That’s too bad.


I picked a convex corner to slowly grow out of. While we have a “space plan” this is the two of us we’re talking about here, so everything is really coming together somewhat organically as needed, so long as it is vaguely understood to resemble some plan, if interpreted selectively. In other words, #yolo.

My former “workbench” at Artisans is made of a 60″ wide wire shelf, and it will become the new 3D printer farm and shipping center for Equals Zero Designs. Not shown here is a collection of Craigslist workbenches that appeared in the space some time later in the week.

As luck would have it, the IDC was getting rid of its original-issue fixed desks and cubicles to make space for more researchers. The large office desks that were a familiar sight in my build reports from 2012 onwards were going to get replaced with smaller, more portable tables. So what’s gonna happen to them?

They end up with me again. The corner I was in was the first to get cleared. While the desks were taken apart and shuffled, there is a very high chance that my former IDC desk is now in our new shop, another somewhat fitting and poetic closing of one of life’s little loops.

A photo taken later in the week of moving when the benches have been arranged and the IDC tables have been erected again. Notice that they’re a little crooked. They did depend on the cubicle divider walls for structure, which were not part of the deal. I might add some additional legs or some bracing to the desk later. However, for seriously heavy-duty work like “I am putting my laptop computer here”, along with EE work, they’re fine as-is. In fact, the widthwise span has already been set up as my EE bench as of the now.

Charlesland fades into Bercustan as you move rightwards above, with the border lying somewhere on a 3D surface defined by the location of the last series of hand tools we borrowed from each other. I’m going to build a wall of lipo batteries soon and make Adam pay for it.

Now, no new workspace that we have anything to do with is complete without….





My children weigh 4,600 pounds combined! Don’t you dare call them fat,  you droplet of coolant curdle!

Getting these two machines – the result of an industrial auction – is a worthy post by itself, and we learned a lot about rigging and moving heavy things that week. There’s quite a few resources on the Internet from people who have documented their own DIY machine moves, so I will gladly contribute to it. Let’s just say it involved….



 Don’t look at me, I wasn’t driving.

So what’s next? I’m basically moved in and have been hacking at things for a few days now. Ongoing facilities improvements will occur – such as moving the machines to their final spots where power will be run to them. I’ve been kept busy by contract work for most of this fall so far, but #season3 is on the horizon and I have some new and exciting content for the Beyond Unboxing series coming up soon, not to mention Brushless Rage development.

Welcome to Big Chuck’s Little Robot Warehouse!

Jan 17, 2016 in MIT & Boston

Since December, I’ve been shifting operations over to my little safe-corner at the Art is a NSA-sylum. My ‘center of gravity’ is now over there, with only some big hardware still lounging around MIT which I hope to evacuate once I figure out space. Here’s what’s been going down on that front!

I decided to use a network of wire shelving carts and FIRST Robotics binny-things to organize storage and projects. That size of tote was on serious sale after the 2015 FRC game which involved moving them around.  There were two “densities”. One of them spaced the shelves around 15 inches apart, allowing a closed tote to be stored as well as allowing the usage of smaller 30-quart Sterilite bins which I had acquired a taste for in the IDC, but permitted the opening of neither in place (I  have to remove them). The other was build around 23″ spacings, allowing the large totes to be opened in-place and the smaller bins to be stacked.

Here’s my emo-corner after a night of setup. I decided to use the tighter spacing in the end since… let’s face it, I was more likely to put every little thing everywhere here, so might as well make more room for it.

I ordered two packs of FIRST bins. Once they arrived, it was time to get packing!

What I learned from this was that I had a lot of stuff. Gratuitous amounts of  stuff. And that’s JUST what fits inside approximately 10 bins! I have several go-karts and scooters that I need to find homes for, a rack of metal stock, and some other scattered builds and containers. These few weeks saw me unload a lot of stuff at MITERS and elsewhere, including LandBearShark, which has officially been adopted. Like the old LOLrioKart, you might see it surface again in another form with new operators.

Here we are now, on New Year’s Day, after another big move. It’s now feeling like home – once your 3D printers start moving over, that’s when you’ve truly settled into a space.

And yes, that’s my personal MarkForged machine! Go ahead. Ask me about it. I’m basically a salesman for them anyway.

I also have my own little export of the IDC electronics bench. Sourcing and dealing with the tools there has caused me to grown a liking to them, as well as allowing me to get to know their shortcomings and how to address them, so I got my own copies. The BK supply is still one of my favorite lab power supplies – the IDC ones have been regenerated into or accidentally shorted dozens of times by students. I purchased a WD1 station years ago at a MIT Swapfest event, and now finally have a proper place to use it.

The combination desk & EE bench will handle most of the RageBridge shenanigans, but what I don’t have yet is a more solid workbench for mechanical work.


Around the corner is a storage-only location. Consider it an evolution of Stuffcart. This uses the 22″ spacing for shelves, so I can open one of the bins in-place – basically cold storage for parts and whatnot. Not like I have a choice – the DC Motors bin outweighs me, for instance, and needless to say it’s on the very bottom holding the shelf upright. On the right side is basically all of Equals Zero Designs, plus some more robot detritus.

All of the shelves are on wheels in case I have to retool the spaces to do something in particular, or if AA is shifting around spaces; this corner is known as a “Pallet storage” location, where technically all your stuff should be on pallets but the keyword is “easily movable if needed” since the space membership cycles regularly and spaces open up or get eaten.

Finally having all my tools in one spot showed me that my single little rolley toolbox was not enough. It was time to move on up!

I #yolo’d this 44″ rolling tool chest from Harbor Freight on New Year’s Eve  as part of their end of year sale. While their prices generally don’t fluctuate much (as a devout HF disciple, I have a good idea of what everything costs yearround), it was on the low end again and… hell, why not. I immediately regretted this as I had brought neither help nor an appropriate vehicle, and it subsequently took myself and two HF guys to wrestle it into the back of Mikuvan after removing the pallet it comes on. This thing is quite beastly – it weighs 300 pounds empty and rides on huge aluminum-core casters. My only complaint is that it doesn’t come in Miku Blue.

What I might do is create a MDF and butcher-block top surface for it which bolts into where the handles and add-on side chests would go. That way I basically have a workbench built on top of this cabinet. Then at least I can hang things like a larger bench vise and arbor press, etc. off of the side, instead of having to source an entire other structure to have as a workbench. Anything heavy duty just gets walked over to the Asylum’s shop spaces – I don’t need to create a self sufficient bubble, just things which are a convenience and which don’t take up much space.

With stuff settled in and the space achieving productivity, it was time to move this coming year’s citizens in… Welcome to your new home, Sadbot. Don’t put too many holes into the drywall.

 what’s next?

  • RAGEBRIDGE 2!! After a month and a half of delay, Rage2s shipped from the PCB assembly house this week. It’s going to be an exciting week. If you’re a backer, prepare to get an update!
  • Overhaul v2 will be the  first “big hardware” project that this space takes on. I’m actually in the midst of trying to get special permission from BattleBots / ABC to blog all of it, from start to finish, including design and the work on Sadbot. Why? Well, first, because I can’t ever shut up about anything I’m building; you know that.But second, because I see the TV show as one grand chance to preach the gospel of engineering to a much bigger audience than I’ve ever done so before, and to show that building a robot of any sort is not something for ‘smart people’ or ‘the kids from MIT’ (a label which I’ve warned them I was fully divesting from this time). Showing the conception, design, engineering, fabrication, assembly, testing, and revision of one of these machines from end to end is specifically part of my agenda, something I was barred from doing the first time around because of the nature of the production. I hope to change this, or at least, be the only exemption. Maybe they can focus on OH2 as a specific side story thread or something. I don’t know, nor do I care about the presentation, so long as it happens.

That’s right, I’m fighting for the ability to disclose to you and discuss ALL of Overhaul 2′s deepest secrets, in immense detail, because I can’t be bothered to treat my favorite hobby & sport of 15 years as something that is magic to onlookers or have this notion that the secret-er I keep my robot, the more likely I’ll win.

That’s some kind of Apple bullshit, and I’ve never been a Apple fan. Let’s hope it works!

A New Beginning, the Second Story; RageBridge 2 FINALLY Going to Manufacturing; Season 2 and #SADBOT2016

Dec 01, 2015 in Bots, MIT & Boston, Motor Controllers, sadbot2016

It’s official – after December 31st of this year, my contract with MIT as the MIT-SUTD Collaboration‘s International Design Center shopmaster will end, and will not be renewed. As of then, I will no longer have official ties to MIT. Hard to believe, eh?!

There’s no better timing for this, too, as #season2 is on the horizon early next year. My goal is to use this same epochal shock to usher Equals Zero Designs into prime-time, with the release of RageBridge 2 and a host of other stuff I’ve been working on this fall semester – stay tuned for that.

Ultimately, it was a combination of the fear of complacency as well as organizational changes that is pushing me to move on. First, because I have commitment issues and can see myself being a shop instructor & design class instructor for the next q years, which frankly scares the shit out of me. Sorry, ladies. Second, the IDC has moved on from its more “Wild West” days of supporting any which project, towards a more professional research-centered model with strong ties to industry. This is without a doubt better for the Center and will make it sustainable past its years with the MIT-SUTD collaboration alone, but I just didn’t see myself contributing to it any longer. I’m one of the last of the “original generation” of IDC inhabitants, and that presence has made itself painfully obvious in the preceding few months.

The thing I’ll miss the most is not anything to do with the Center, or even “my own” shop, but my interactions with the student maker community and being the go-to guy for late-night uncommon parts and advice, because yeah, of course I have one and of course I’m upstairs right now. That, and not being able to continue the great experiment that is 2.00gokart, but perhaps this will be remedied in due time.

In the coming weeks, I’ll be winding down my operations at MIT and shifting most of it over…

…to my little corner at the Art is a NSA sylum. What I might lose in the coziness of “my shop” I gain in a real, dedicated space for shenanigans and a much wider array of on-site resources and a massive community of deranged makey-types. Thus begins the story of Big Chuck’s Robot Warehouse & Auto Body Center. What, you thought I was kidding?

The downside? I have so much shit to move.

So many more people making and building things at MIT is a mixed blessing: nowadays nobody can get their own little private corner for too long. I’m currently trying to knock down my stuff load, which dates back to mid-2007, across 3 or 4 different sorting systems (at least 1 of which is just “NONE”), and several midden-esque locations. So, perhaps watch out on the For Sale page soon


Oh dear, I’ve officially become one of those delayed crowdfunding product people in addition to being just a crowdfunding product person.

Ragebridge2 got basically pushed back a month to resolve one of the biggest issues plaguing it from the start: the one channel “giga-mode” where the two sides are tied together so Rage becomes a single channel twice-as-awesome controller. A lot of prospective users were asking for this so Rage could conceivably be used in a heavier robot design. For example, the two sides put together at 150 amps limited would be plenty of current for, say, an Ampflow A28-150 motor.

Now, how hard could this one-channel thing possibly be? Isn’t it just copying and pasting the output of one control loop cycle to the other?!

Well, basically. But first, there were secondary issues that had to be resolved.


One thing that eternally plagues power conversion and motor control designers is noise. Switching tens or hundreds of amps thousands of times a second is not easy on sensitive logic. The bigger the parts get and the higher the amps go, the more likely you’ll start seeing things like optical isolation and fully isolated independent gate drive supplies, and the like. I think Rage is on the big end of what is basically “non-isolated” designs, where power and logic ground eventually meet on the same board. When they do, layouts and trace routing become as critical (if not MORE critical) than exactly what FETs you use…. I could have the most hardcore power devices in the world, and my board would just reset over and over if the current draw went over 5 amps or something if I dropped a haphazard or autorouted (shudder) layout.

Now, fortunately, for Rage, the critical current wasn’t 5 amps, but more like about 130-150 amps. On very hard reversing with the current limits near the top, the board would still trip up. However, it was no longer the microcontroller resetting, but the Allegro A3941 chips themselves that were having issues.  In fact, one side (channel 1) would preferentially shut down.

In fact, here’s a scope trace between low-side return (LSS) of the gate drive chip and my logic supply ground measured at the logic bus capacitor, on a 100%-to-0% step where I just kind of let go of the transmitter stick, with the current limiter set to maximum (75A) per channel. That’s a nearly 6 volt peak to peak smash, especially with a strong negative component. And this was at PWM frequency – happening 15,000 times a second.

If Rage were in dual-channel mode, this resulted in that side simply no longer responding, needing a reset to clear. If it were in single-channel mode, well… stuff generally blew up.

There wasn’t much more trace and component placement optimization I could make, however. I repositioned several of the gate drive traces, and more importantly, moved where the gate drive chips got access to VDD (system voltage) and VSS (system ground), specifically moving them away from “right under the drain tab”. I’m not sure why I even did that, but…

One last thing I decided to finally do was to airgap the whole logic ground plane.

Before, the plane filled the whole area that is now black in the center. This placed it right next to the high-power planes and the switching output of the motor, not to mention the high dV/dt gate drive traces. This is no longer the case.

All of these changes called for a new board revision, number 6. I decided to try a new-to-me vendor that I’d been clued into,, not to be confused with I see what you did there.

They have the quickest turnaround of any place I’ve used so far that doesn’t cost four-figures. I’ve actually since used PCBWay for a few more sensor boards and consistently get orders in on Wednesday afternoon, and receive them the following Monday, including shipping time with an air express service and which doesn’t even cost that much. The “downside” is no “fancy stuff” like 4 layers, microvias, plated holes and edges, etc… on your boards or it takes as long as it normally does.


It, uhh… Oops.

I’m pretty sure I clicked on the wrong choices for LPI (solder mask) color and silkscreen (text) color. The buttons are actually next to each other, okay?

Just in time for the cold season, the wild RageBridge gains a brilliant white winter coat to better camouflage itself against low-inductance motors and people who don’t know how to solder.

To be fair, this doesn’t look bad. However, the white board is easily stained by flux, and after reflow-soldering the FETs and gate driver ICs, there’s obvious yellowing of the board to a more ‘off white’ or ‘soft white’ kind of color. I think this is partly the flux, and partly because I cooked it too long. My process is not nearly as controlled as a production reflow line, so it’s not an entirely correct criticism. For production, I’m going to stick with black.

But did this revision solve anything? Quantitatively, I haven’t recharacterized the noise, but qualitatively, I haven’t gotten the board to reset or shut down in any way once. It will now happily grenade the power traces on a cross-side short, and continue working once I bridge the gap. This is all while driving a motor like 10 times larger than what it should be driving.

Well, that means it’s still blowing up in single-channel mode. It turns out there were quite a few structural problems with the firmware that allowed the input-taking loop to ‘override’ the current control loop. As the fastest loop in the code, the CC loop is what should be controlling the outputs at all times. The issue centered around passing variable values back and forth between the two loops. This itself was not causing the board to explode, per se. It needed an accomplice on the hardware side.

The other issue was that my deadtime between high- and low-side FETs being turned on was too small for the switching time.

The red trace is the gate of the high side FET discharging, turning the FET off, and the yellow trace is the corresponding low-side turning on. There’s very little error room here. It seems like the high side barely makes it off before the low side turns on.

Again, not very bad if the two sides were separate, but if they were switch together, all of the components better match perfectly. A few extra dozen nanoseconds here and there in delay and switching time differences would cause one side to be momentarily on while the other is off, or vice versa.  When this happened, there was an audible click from the capacitors as the cross-conducting FETs swished what must be peaks of hundreds of amps out of them and in a loop around the board. That was my sign to, umm, power everything off right now.

Prior to this, the board only exploded made terrifying sounds at very high throttle percentages (e.g. above 95%). I found out that the “output overriding” issues in the firmware were permitting very high PWM duty cycles, since the input-taking loop does not constrain its outputs to include deadbands on the low end (0-5%) and high end (95-100%). When this happens, it means the low side FETs occasionally turn half-assedly on and off due to the rapid on-and-off cycle.

I increased the deadtime to a safer margin to test again. The combination of correcting my variable-passing and adding more deadtime made for perfection! I just had to make sure that the outputs never went above about 95% – from there, it jumps to 100% – to avoid the possibility of one-side off (no FETs on) and one-side on, which is a slightly less bad case of one-side-high, one-side-low.

This jump is handled by a conditional in the fast (current limiting) loop. In practical use, this is almost unnoticeable (and is also used in RageBridge 1 and basically all other motor controllers, to avoid the things I explained previously)

With these issues resolved, Rage is now incredibly close to production. I’ve put in for the assembly quote and have already amassed the Bill of Materials. Associated tasks include getting quotes for heat sink manufacturing, and of course, in due time, readying the website and producing documentation. I hope to have everything out the door by mid-week, so Indiegooglers stay tuned for a huge update!


Way back during the middle of #season1, when we thought building a 250lb robot in roughly 5-6 weeks was going to be a breeze, I came up with the idea of a “practice assbot” for the 4 newer team members to construct so we can practice driving Overhaul v1 against it. Because, y’know, we were totally going to finish a week ahead of time and have time for everyone to take a turn at it and decide the chief driver on who’s the most skilled and… okay, that kind of died a little bit as we were welding the last bits of the new lifter assembly together on Tuesday night of production week.

But we were left with this tool, which just had to be used on something. The original plan was to put some wheelchair motors and tires on a square tube frame (leftovers from constructiong the OH1 frame) and throw this on a third of said motor. It would just be an irritating practice opponent.

During the brief interlude before #season2 work took off in earnest, I decided to take this project to fruition and adopt it, much like I am adopting the name and concept of Overhaul itself – more on this in detail soon, is my hope. I wanted first and foremost to have a 250lb-class driving practice machine. The difference between driving a 30lber and Overhaul was much like a small sports coupe and an overladen Chinatown bus. The second goal would be to test stupid experiments for Overhaul V2 (….more details on this soon, again, as I hope!) and basically make a “prototype” to make sure that certain bad ideas work, or are ruled out, before the proper build.

So I extracted OH1′s wheelpods from the apartment  and proceeded to think of the simplest, most durable frame I could build around it. Each wheelpod had four mounting points which were rubber shock isolators, so I just needed something to bind it together. A simple tube frame would have sufficed, but it was actually not heavy enough. To really get in the weight range I needed, there had to be much more steel.

My salvation came in the form of giant C-channel, specifically the “6 inch x 10.5lb per foot” type. That’s how it’s sold, pounds of STEEL per foot. In all, the thing above contains about 140lb of steel alone. Add in two roughly 25lb wheelpods and  batteries and it should be right up against ~220lb, so I could run this in other 220lb Heavy events if I really felt like it. The wall thickness is around 1/2″. It’s just a blob of steel.

But what it really needed was the Stick of Poking. For that, I conjured up a quick structure to contain a modified, chopped-down version of it.

The gear ratio may or may not be similar to one I intend to use in OH2′s main lifter, with the tip possibly kinda-ish at around the same distance as the anticipated new lifter, and it also miiiiiiiight be expanding on using the BaneBots P80 in applications most people would make fun of me for. All maybes. Nothing is certain at this stage, after all, and we don’t want to get too far ahead of ourselves, right?

I elected to use chain to keep it simple, with stock keyed shafts and sprockets running on stock mounted bearings. No fanciness here, just something quick to put together. The structure is entirely 1/4″ steel weldments from waterjet-cut puzzle pieces. I’m pretty sure it’s too spindly to be battleworthy, but again, I just wanted to see the numbers at work.

Oh dear, this thing is now looking too legitimate. I added some big rubber bumpers (which I ordered months ago for OH1 but found them too hideous to use, as well as heavy and improperly sized). Even if the arm is never installed or functional, at least it will be (relatively) soft with the big bumpers. Maybe I can use it to tow vans.

One of the intentions of this build is, of course, after all the experiments and bad ideas are finished, to have a sparring opponent for not only the future Overhaul v2, but also the potential storm of new heavy-class bots emerging in this area.

So, because the only purpose of this bot is to get experimented on and thereafter, shat on and beat upon, I figured it must be really sad, and so began calling it sadbot. It’s only tangentially related to #sadboys, I promise.

I ordered an unnaturally large quantity of STEEL compared to my usual daily recommended intake from Turner Steel, a local distributor, who delivered for free. By which I mean, dropping off slabs of a future overpass/bridge on the loading dock, and leaving me to try and budge it while making adorable squeaking noises like a rubber squeeze toy. If there is anything that building one (and soon to be 2, later three?) heavyweight-class robots is doing for my benefit, is MAKING ME LIFT, BRO.

To make up for it, building the frame was actually the most straightforward thing ever. Ignore the painted weeaboo face – I was somewhat delirious at that point. The cuts were made on a horizontal bandsaw, chamfers were gouged in with an angle grinder, and future weldment regions cleaned up with one of those fluffy paint remover wheel things. Word of caution: they are not fluffy at all, in real life. In fact, they throw chunks of hard plastic coated with abrasives at you.

After the mounting holes were drilled, I bolted the wheelpods in and actually used this assembly as a welding fixture. Long bar clamps held the sides in place at the correct height, while the whole frame was on wheels so I was able to push it around. In this exact form, I poured a few more pound of MIG wire into the frame. All possible edges were welded, both inside and out.

Having to build a heavy-class bot across multiple shops and buildings sucks. I should have invested in an engine crane and swapped some pneumatic tires onto it to sling this around. Pretty soon, this became too heavy for me to lift by myself safely, so I had to grab whoever was nearby. Here, the baseplate’s been installed.

Check out the 2×2″ hole pattern that peppers the 1/4″ cold-roll baseplate. I lined up the edges of the plate on the waterjet to make the pattern in one go. It’s like an optical table, except dorkier. This ensures I can attach any stupid thing I want to this baseplate.

The battery brackets are two pieces of 1″ angle stock, with a channel milled through each. The battery will be retained by a giant ratchet strap threaded through those channels. Each Overhaul battery is 37v (10S lithium) and 16 amp-hours. That’s literally 2x the battery we needed per match as reported by the chargers, as it turned out.

Here’s the pokey-arm tower cut, cleaned, and assembled, but not yet welded. Like the frame, I’m cheating and using the mounted bearings and shafts as a fixture to give some kind of perpendicularity.

The next step was to prepare the poker itself, which entailed drilling a 1.25″ hole through the solid 2″ diameter steel handle. I purchased an annular cutter off eBay for cheap, which are basically hole saws but actually built for cutting steel instead of just being coerced into doing so. I’ve always wanted to use one, but they’ve either been far too expensive or I had not needed to ever go through this much steel at once.

After using my cold saw to sever the handle to the needed length, I set everything up on the Bridgeport mill and gently massaged the cutter through in low gear. The process was utterly painless and the resulting finish was spectacular.

It’s almost like paying for the right tool makes your life easier or something! Go figure.

To-dos on #sadbot2016 involve welding the poker-arm assembly together and making some permanent temporary wiring to get it up and running. I’ll have more updates on this thing as the science experiment results roll in.


The Life of Charles: Untold Tales of February Through Now-ish; BattleBots, Markforg3d, 2.00Battleship, and Chibi-Mikuvan Upgrades

Jun 16, 2015 in Chibi-mikuvan, Electric Vehicle Design, Events, Stuff

Isn’t it sad that the last meaningful post on this site was in February? I think it’s a travesty. A combination of perfect storm factors has overwhelmed even my blogging habits. I’m kind of like the Waffle House test of blogging – if even I stopped blogging, you know some shit went down. And I do have some very interesting news to report. In no particular order of criticality or intensity, I present…

  1. The extent of what I can say about Battlebots on ABC before the season premier!
  2. I got a new shiny thing, a MarkForg3D Mark One continuous-filament 3d printer!
  3. Porting (heh) 2.00gokart to the water: The making of 2.00Battleship for this summer’s SUTD program.
  4. When it’s not robot season, it’s go-kart season. Time to make some changes to Chibi-Mikuvan!