The RageBridge Breeding Program: Alpha Tester Application & Other Stuff

They’re done!

After my Digikey and Avnet shipments arrived, I could finally finish out the 8 remaining RageBridge2 boards in the panel. Using my handy dandy hot-swap test rig, I’ve determined that they at least power on right now without exploding, which is a good start.

Before I upload running code, I’m planning on adding a mix option to the firmware which can be activated by soldering a little jumper wire (a future board rev will add a header that can be used to select it). This way, the controller can be used with non-mixing radios (like 2 channel pistol grips) to let one channel control steering (differential) and the other speed (magnitude).

Update 16 October! The mixing firmware has been implemented.

The two RageBridge2 boards I assembled last time have been tested in real-life driving already. First, I installed it in Null Hypothesis in place of the RageBridge v1:

Then I gave board serial #2 to Adam and had him install it in his pre-Dragon*Con speedballed robot Blitz.

And then, we faced off at the Somerville mini Maker Faire:

Basically what it reduces to is two somewhat gimpy bots driven by two out-of-practice drivers. The motor that smoked in Blitz was on the front lifting tines, and it was being driven by a Victor 883.

But despite my best efforts to test these boards out in a strenuous condition, Blitz and NH are kind of… the same. They both run 4 overvolted drill motors (and keep breaking them… clearly these things have gone totally to shit) coupled to 4 inch wheels, and while NH has a higher top speed due to my more overvolting, the RageBridge boards limit the  motor current such that the motors kind of behave the same anyway.

I need more data points before declaring the RageBridge Certified Legit™. That is why I will now officially announce the….

ragebridge breeding program

These 8 boards will be released “into the wild” as much as possible such that I am not in control of their use and installation save for a short user manual page. I’m therefore going to put the call out for participants.

You may qualify for the RageBridge Breeding Program if…

  • You have a load, such as a robot, vehicle, grain thresher, etc. which runs between 18 and 36 volts, has 2 DC motors, and would like about 40-50A, but can live with 60 amps at most. This is because the RageBridge has intelligent constant-current limiting set to 60A. So if you don’t mind a little… anemic acceleration on your twin Magmotor mountainboard, that will work just fine. At this time, the 2 output channels cannot be combined into a single high-current channel.  The 36 and 24v boards are currently not the same in order to test out different components, but the production version will run the whole range of voltages.
  • It exists right now and you can swap RageBridge into it. Sorry, projects which will be finished Real Soon Now cannot qualify.
  • It uses an R/C radio as an interface. RB currently cannot take analog inputs (e.g. throttle pedals) or TTL serial commands. “Vehicle firmware” which does take these inputs is one of the things I intend to work on as soon as possible, and serial commands is also on the list of things to add. The firmware is easily flashable in the field for when that happens; you will need an FTDI cable. After all, I do write the firmware for this controller in Arduino…
  • You are willing to send $50 USD to help me offset the cost of boards and parts. If it works great for you, then awesome – 36V dual motor controller for $50, and I’m not gonna ask for it back! But…
  • You understand that you are not receiving a finished product and there is no warranty on functionality or reliability. Do not use this to hoist people up elevator shafts or to run your heart-lung machine, for instance. Would you even use an Arduino to run a critical medical device like that?! Each RB board will be tested before it ships out and I can only take “returns” for DOA.
  • You are willing to send me video, pictures, and/or test data showing the board working in your environment.

If you agree with the conditions, send me an email (charlesg@ this 3-lettered university name .edu) with the subject “RAAAGE” (that’s 3 A’s) and the following information:

  • Your load details – what it is, and what voltage it runs, so I know which board type to send you.
  • How soon you intend to install and test the RB board
  • How you intend to mount the board in your load (via its mounting screw, heat shrunk, above a fan, on a boat with a goat, etc.)

Because there are only 8 boards available, I clearly cannot take everyone. I’m seeking “diversity of loads” here – vehicles, robots, elaborate dentistry tools, etc. I will set a deadline for “applications” of MIDNIGHT on Wednesday, October 17th (that means as soon as the clock turns to 12:00 and it becomes the 17th). Eastern Standard Time. I’ll notify both accepted and rejected parties then. They’ll ship during the week.

Preliminary specifications:

  • 18 to 36v nominal operation
    • Absolute maximum voltage for “24v” boards is 37v, absolute maximum voltage for “36v” boards is 57v.
  • 40A continuous at room temperature with no additional convection or insulation.
  • Constant-current region above 60A (your load will see a maximum of 60A, plus or minus a bit of ripple).
  • R/C servo pulsewidth range of 1900us to 1100us with 1500us center. +/- 20us deadband.
  • 5V power available for receivers
  • 4.5″ x 2″ outer footprint
  • 1.7″ x 1.7″ hole pattern for mounting, sized for #4 screws.

the ragebridge fundraising program

I intend to send out one more board revision before releasing the design to manufacturing. This new revision will wrap up some of the hardware loose ends like component placement, manufacturability, trace routing optimizations, and like, making the RESET button actually reachable with an average finger.

Boards and parts (especially parts for 10…) are still really expensive, especially in low test quantities where I can’t take advantage of price breaks.

If you like the RageBridge and its new addition of a constant current output mode to the small- and medium sized robot/vehicle controller world, and want to support its development, then please let me direct you to my donations page. There is no suggested donation, and contributing does not constitute a pre-order for any product!

The whole mission of the RageBridge project is to try and make a compact, reliable dual channel high-powered motor driver using 21st century designs and parts, with no “fanciness” like dual encoder inputs, built-in PID controls, 8 different ways of taking commands, etc. in one unit. It is a rebellion against the new trend in robot controllers to integrate all of these functions and charge more money for it while not really being that good at, you know, driving motors. Basically, I want to give the venerable Vantec series and Victor 88x series of controllers a this-decade equivalent. Raw, simple power for applications which demand it, and nothing more.

the ragebridge kickstarter

Support us on Kickstarter! The link to RageBridge’s campaign is…

Not yet. I fully intend to pitch this sucker up on Kickstarter when I have a demonstrably working device. No promises and renderings here – I’m fully intending to use KS to gauge the initial market and to tell me how many times to hit the button. So if you’re just totally into a public fundraising campaign or find paypal links repulsive, hang tight!

The RageBridgeTwo Breeding Program Begins!

I received the RagebridgeTwo boards literally the day before we left for Maker Faire NYC 2012! Here’s what the whole panels looks like!

That’s pretty. MyroPCB sent this panel to me sandwiched between two scraps of MDF which seems to have been the disposable bed of their PCB drills. I spent quite a while looking at the drill patterns from the other orders and wondering what they were (at least one seemed to be a user-generated breadboard…)

I’m fairly amazed with how well the thing turned out. After the designs posted last time, I made a few more minor layout and trace routing changes in order to be more compatible with Myro’s 2oz design rules. They seemed to want 8 mils trace/12 mils space for 2oz – which seems a little loose, as Advanced Circuits could go as low as 6/6 last time I checked. The trace widths weren’t a problem, but several places had problems with 12 mils spacing between elements.

I don’t think I did a very good job with the space thing, since that would have involved routing almost all the board over again (the gate drive area is a tight squeeze), but Myro ran them anyway and they seemed to all have etched properly.

I decided to make 2 boards out of the panel just to make sure that the routing worked. After all, no use in populating all 10 only to discover that I made a truly phenomenal routing derp (and I didn’t have parts for any more than 2 at that time anyway…)

Now with more FETs.

I’m going to try out several different FETs between these ten boards in order to gauge what the effect on continuous operating current without airflow is. I have the following types:

  • Infineon’s 034N06, 60v and 3.4mohm. These are pretty much the “worst” ones I have – I bought these originally when I was wanting to not blow up 5 dollars every time a FET goes (like I was with the IRFS3107s).
  • Infineon 017N06 60v, 1.7mohm. These are the current choice for Ragebridge and are in all the robots. Conduction losses halved from the 034s. These, along with the 034s, are both compatible with a 36v mode for these controllers. The only thing that limits the hardware to a certain voltage is the choice of FET and capacitor – for 36v operation, I’d want at least 60V FETs and 63v capacitors. 75v FETs would be even better, but they get pricy in low-resistance models.
  • IRF3004-7 type, 0.9mohm, 40V. These will be the best choice, I think, for the standard 24v type RB, but IRF is pricier than Infineon (whose nearest competition is the 011N04of 1.1mohm Rds-on and somewhat lower gate charge).

Once I prove the boards working or otherwise, I’d like to snag some of the new Infineon 010N06s that just came out. Basically, the lower the on-state resistance of the FET, the more current I can push through the controller, so long as the switching time is much shorter than the on-conduction time. Right now, with the 1.7mohm FETs, I can push approximately 30 amps continuous in still air while adhering to a 100 degree celsius junction temperature. If I wanted to edge closer to the maximum temperature of the junction, at 175C, then I can push about 40 amps. Again, this is with absolutely no airflow and no heatsinking effect from the board bus traces or large-gauge copper wiring. Any airflow at all would be sufficient to push the current rating up.

The two test boards are loaded one with 034N06 and the other with 017N06. I only have a limited quantity of the 60v types, so the majority of the boards will be limited to 24v nominal (~30v peak).

Fully populated but not yet programmed. I didn’t even leave myself an ISP header on this thing – that 6 pin header is an FTDI cable connector. So how am I supposed to program the blank ATMega chip? How will I even turn it into an Arduino?!

The answer, as usual, is provided by Hobbyking. Seemingly on a war path to be the next DIY electronics dealer, Hobbyking has recently been peddling everything from said Arduini to robot kits. Aided by the hobby multirotor craze (Yes! There are such things as crazy quadrotor guys just like there are crazy 3D printer guys and crazy electric rideables guys), HK now sells quite a few different flashing tools for microcontrollers. This cute spring-loaded programing socket is a steal at $20 – a similar device from a more “legit” manufacturer would certainly run you triple digits.

And as far as I can tell, it actually works, very well. The springs are stiff, so the pins dig into the chip legs tightly and allow some wiggle room too. Only downside, it seems, is that there’s no orientation guide (that I can tell), so it took me a minute of staring at my Eagle files to discern which orientation to use it in (Hint: Tight group of 3 pins faces away from the dot on the micro).

Seriously. Get that right now, especially if you think you might ever be flashing anything 32-TQFP shaped.

I used it in conjunction with an AVRISP mkII programmer, since I couldn’t get that damned “USBASP” thing to be recognized by my computer or to function at all. A 6 to 10 pin ISP crossover cable was made with some quick breadboarding wire to bridge the gap.

After the Arduino buttloader is loaded into flash, the rest of the program uploads are taken care of via FTDI cable.

I had some fun discovering that “Upload via Programmer” in Arduino means “Erase everything and upload just the compiled sketch” – I spent quite a while probing my RESET circuit to see why my FTDI communications weren’t working, and then it hit me that the damn thing wasn’t even blinking once at startup.

The only changes from the Ragebridge version 1 firmware were some pin definitions, since I had moved several connections around to better suit the chip orientation. Furthermore, the now fully-symmetric current sensor layout meant that one of the current control loops had to be inverted.

What I want to do next with the firmware is to make a “mix” mode for the two input channels, which means you don’t need a transmitter with onboard mixing (or to set it up) in order to use the the controller. Eventually I also want to make it take commands in the form of serial packets (over the FTDI TTL serial connector). However, it will not have any more complications than that – no fancy encoder inputs or selectable analog inputs or kitchen sink interfaces. Ragebridge was designed as a rebellion against those modern ‘universal’ ESCs anyway.

Right now, though, it’s just bone simple R/C servo PPM input.

The one thing which prevents a ‘MIX’ mode from being immediately useful on this board is the fact that I neglected to put any hardware selector on the board. One of the digital inputs can be tied to ground or 5V (e.g. with a PC jumper) to activate mixing, but I just.. forgot to put one on there. Instead, you’d need to solder a wire to a random place with GND, which isn’t very useful.

These, and other random layout shortcomings, will be addressed in a 3rd board revision.

In anticipation of possibly having to test 10 boards, I went ahead and designed myself a jig. Similar to a bed-of-nails tester, it just holds a bunch of 3.5mm bullet connectors in place to make all the important power connections (bed-of-bullets tester?!) so I don’t have to solder 8 wires every time.

Here are the connections completed. Inputs and outputs are both my standard 4mm bullet connector interface. A 3.5mm bullet just happens to squish enough to fit into the wire holes on the board, so…

Board #1 under test. Conclusion: it works.

Whoa, I assembled a board, totally untested in the middle of the process, and it works on the first try. That’s actually pretty damn new and exciting.

The second board had an interesting problem where one PWM out was seemingly underflowing repeatedly, very quickly. A bit of probing led me to discover that one of the current sensors had died (or was dead to begin with) and so was pegging at 5 volts. Constantly triggering the overcurrent procedure, it continually decremented the output PWM command, went past its valid ranges (+/- 255), then underflowed its signed int holder and kept decrementing from the top again. This caused the motor to occasionally freak out as the output command entered then exited the valid range.

The spazzing also damaged one side because it was while the board was hooked up to a non-regeneration-friendly power supply. I fixed it by replacing some gate drive components, but I guess now I know which board I am hanging onto!

The test motors were an EV Warrior and a derpy 24 volt scooter motor. Basically the test involved alot of slamming the motors back and forth (on a battery, of course) after validating controller functionality on a current-limited power supply. This was  to test if the controller was sensitive to pulsed current-induced noise, and if the smart current limiter was working.

Alright, time to start on the next set of boards. This is like 5 hours of solid work, and in the end, I totally ran out of parts! I’ll have to wait until the next Digikey order comes in before starting the soldering process again. First to run out were my gate drive zener diodes, and oddly enough, 1uF capacitors. I also ran out of ATMega chips and gate drivers.

The development process for this thing is starting to get reeeeally expensive. I have yet to total up the cost per board in this quantity, but the chances of me giving away free samples to alpha testers is very, very slim.

Once I get my refill orders in, I’ll populate and test the rest of these boards, and then set up the structure for an alpha testing run. I intend on releasing these “into the wild” as much as possible in order to find their limits and how people are going to mess up on using them. The guidelines below aren’t set in stone, but are what I have in mind as to what would make a good alpha tester:

  • You have a device, whether it be a robot or vehicle, that uses 2 DC motors in some way. Right now. Not “will in a few weeks or months”.
  • Your system runs 24 to 36v. Up to 48v is possible, but I would need to specially configure a board for it. HV testing is something I’m interested in doing.
  • Your system usually pulls 30 to 60 amps, and can live with 60 amps at most (This means some high-current systems like Magmotor-powered go-karts will experience constant-current mode for longer).