Thursday, July 25, 2013

Cake Slice and PA Bot Blast 2013

Hi Charles, I'm writing a blog post.


Part of my joy of moving up to MIT was the fact that I was now in prime vicinity of a more lively roboting community. In the Northeast region, we have well established competitions like the Franklin Institute of Motorama.

Another regular event in Pennsylvania was PA Bot Blast, held in Bloomsburg every July. My friend Aaron fan from the Georgia Tech Invention Studio convinced me to go, so I convinced my long time bot buddy Charles Guan to make the trip with me. We created enough hoobaloo in MITERS to spawn a small team and soon we had an entire van committed to go. Hence fourth it was time to get prepared as the date loomed closer and closer.

DDT was definitely going. The new version was completed in late 2012 after Dragon Con in preparation for GMX robot battles where it went undefeated and unscathed. The only work I needed/wanted to do on him was trim the through bolts that hold the frame halves together. This way, the robot was actually invertable.

I hope heating those screws don't melt the nylocks

I was previously intending to bring Cake, my old Beetleweight made in 2010/2011, but I had lent it out to some friend going to Robogames and it returned to me... missing a few things.

Without a waterjet, there was no hopes of finishing the parts needed to make it competitive or solid. Time to move on.

Instead I opted to make a joke bot. Lets design a wedge with absolutely insane speed for the sole purpose of box rushing people and maybe decking them into the wall. No way it would win, but it would be extremely entertaining to watch and drive.

I grabbed a pair of 280-sized motors from my spares bin. These motors were surplus back from Florida but had some serious power. First indicator of this were EXTERNAL BRUSH HOUSINGS WITH HUGE CONTACTS. This is of course opposed to the dinky precious metal springs that daintily drape over the commutator. I knew this motor had some serious current carrying capabilities.

And they did. They drew 3 amps no load.

To make the robot a tad more reasonable I mated these motors to the 10:1 gearboxes of the ever popular "1000 RPM Gearmotors". First I had to remove the pinions from the old motors. Then I had to secure them to the new splined shafts of the surplus motors. Historically, we know that a press fit simply isnt enough for these motors since their monstrous torque essentially reams out the pinion if any excessive load is on the shaft (i.e. robot weight). I remedied the problem by complimenting the press with a flux and solder treatment.

With the drive motors finished, I began arranging the parts to develop a chassis design. While a traditional wedge could have worked, I felt it was to boring. Some creative arrangement later turned up an old friend of a robot: the dustpan.

3D printing frames is cheating

By this time, we only had two days left until the event. The only option was to 3D print the frame on the IDC's Dimension 1200es ABS FDM printer. It saved a lot of time on parts machining but it also introduced some headaches of its own along the way.

Robot taking shape! Control electronics were selected to hopefully run the powerful motors. I whipped out my 9 year old Scorpion HX esc for the drives, and pulled an orange RX for the control. It was then I discovered the esc was not enough to handle those surplus motor hacks. Sad day. I suppose we will have to compromise with a Pololu 4.41:1 HP gearmotor.

The wheels were leftover Banebots 40A durometer wheels with a hex bore. I made hubs from some metric hex stock center drilled for the 4mm motor shafts, drilled to hold a 6-32 set screw, and pressed into the BB wheels.


so far so good

To save some time on printing, I elected to make the dustpan bottom from a thin sheet of garolite. This sheet would be held on the bottom using adhesives.

It was decided that this robot, being made from parts of the robot cake, would refer to its inheritance in some way. Also being a wedge shape, I decided to name it Cake Slice. It would be a part (or slice if you prefer) of Cake, while having a slice-like shape. So brilliant, I know.

Apparently I don't have any finished photos :(

On the Friday evening two hours before our departure, I came home hoping to test drive the robot. Unfortunately I left my transmitter on and was unable to practice with the robot. Its first match would also serve as a driving test.

Game Day

Five hours of Miku later, we arrive at a waffle house and meet Aaron for a 4am meal. From there we venture down the last hour to the Columbia Mall in Bloomsburg to see the wonderful new arena that Jeremy and his parents had put up.

THIS IS IT. jk, test box

builders watching the robot being tested outside the test box

okay, the new arena seriously

omg prizes! best trophies in the US
Being the first builders that morning (we better have after camping out in the parking lot), we picked prime seating in a center row, right above a power outlet.

Aaron's robot ,"Final Exam" without hat

My two robots DDT and Cake Slice. Washers taped to the front to prevent wheelies

delran-bumble:a stepper motor drive robot from out MIT crew

threecoil: an innovative flywheel 4-bar flipper robot

Alex Hone's stuff
After a smooth check-in and drivers meeting, it was time to begin the fray. Leggo robots!
DDT vs Slim Pickens
DDT drew the first match of the event against a sheet metal wedge. Slim was based off a viper kit if I recall correctly, and added some extra steel to strengthen the front plate from my horizontal blows. Unfortunately for him, DDT doesnt attack the body as much as he punishes the corners of any robot. DDT ripped and bent up the front wedge enough to high-center Slim and he tapped out.

Cake Slice vs TTI Wedge
Titan Tech Industries is developing a series of modular robot kits for interested persons. In this Bot Blast, they are debuting their wedge kit, which looks like a sloped Weta without an active weapon. By this, I mean a classic cheese wedge shape with UHMW wheel guards bend around the frame. My only concerns were CS's tendency to lift up when he charges the opponent. I would need to get a running start to keep the drive aggressive and the front end down.

What ended up happening was completely unexpected. I actually stripped the gears running around the box. When I opened them up, it appears the boxes were design to have about 1/5 gear face contact. Ugh. So terrible engineering. If you buy these ever, remember to remove some of the spacers on the intermediate stages to get better contact.

DDT vs Speed Bump
Nooooo! I have to fight one of our own :( Speed bump was a low wedge bot made from the donated frame of a fellow bot builder. It was less than an inch tall, and features a gaussian cross-section double wedge. The top was made of a plastic found in 3-ring binders and I was a bit afraid of blasting through it and hitting the lithium battery.

Luckily, there were no fires. The match was also far more difficult than I had imagined. The low angle of the wedge and the flexibility of the binder material made it early impossible to get a bite. My only good shots were the aluminum sides. After a few taps late into the match, Speedy was high-centered and tapped out.

Cake Slice vs Speed Bump

DDT vs Dust Pandemonium
Now I have to fight the style robot i was originally famous for: the dustpan. Pandemonium was a custom made CF almost-unibody with a meanacing thresher type weapon protruding from the front. He would charge opponents, capture them in the dustpan, and gnaw on their frames with the thresher. As long as I kept my blade out front, I knew I would be able to stay out of the pan and away from the weapon.

When the match began, he charged straight at me figuring he would not be able to maneuver around my blade. I hit straight into the gut of the dustpan and luckily hit a seam. That one hit penetrated into his electronics and gave me the fastest KO at 15 seconds.

Cake Slice vs Guildenstern
Guildenstern is a vertical bar spinner what didn't alarm me at first. But it turns out the bar is asymmetrical, made of steel, and packs quite a punch as seen in its previous matches. For Cake Slice, this would pose a problem  because he could probably easily punch through the front wall and hit my gooey insides.

I added a layer of padding on the inside wall to dampen any blows just in case. I was mainly hoping I could suspend his frame using the dustpan pontoons. This was actually feasible since unlike many other vertical spinners, Guildenstern lacked anti-wedge devices. Either way, all strategies soon went kaput when I lost a drive side early on.


It appears layered ABS is easily ablated. No throwing hits though

DDT vs Ripto
Ripto is the classic vertical disk design of a talented builder and driver Kyle Singer. He scaled down his beetleweight for this competition to enter this antweight version. He also has gone through thus far undefeated. I knew there would be no mistakes allowed in this match. I could not allow any wasted movement since Kyle could easily capitalize on my gyro dances. I would need to aim for a disabling hit or weapon kill early on.

I think I was lucky my first hit. Taking out the drive made things easy for me in that he couldn't hit me in my instability. After that, it went downhill for him. I was able to sneak in behind him and chop up his o-ring wheels.

DDT vs Ripto (finals)
Same strategy with a little more desperation. This time, it was for the infamous Bot Blast light tree trophy! The hits were far better this time but the result was the same. This version of DDT is an absolute keeper!

Before the finals!

Unhappy bearing trying to escape
Cake Slice did was Cake Slice was supposed to do. But DDT performed flawlessly going 5 wins and 0 losses. The match against Dust Pandemonium also went in as the quickest knockout. Below is a shot of DDT and his spoils of war.

DDT and his spoils of war

Saturday, June 8, 2013

More Guavascooter: Speed and Distance Testing

Today I took a little adventure to visit my good buddy Chris down over at Bolt IO, a new shiny hardware startup incubator located conveniently close to campus (and chinatown!). Needless to say, I'll be visiting often.

This trip, for this time anyway, included the use of the T, so I had to park my scooter somewhere on campus. When I returned, I visited the ME graduation banquet and then returned home for a bit. Later, I left my housing again for a meeting with my PI over in building 35. Nowhere throughout the day did I charge guavascooter. This was a perfect additional data point to hopefully better estimate traversal distance. Here is the route:

A total of 3.5 miles. using the numbers from last post, we expect a battery expenditure of about 1170 mAh per mile. However, today's route only used 3170 mAh, which means approximately 905 mAh were expended per mile. This results in a projected distance of 7.6 miles. Lets say 7 miles just to be safe.

The second test that day was the speed test. I selected the section of road between Amherst Alley and Mass Ave as the trial space. This is a roughly half-mile section of road.

My timer showed I made the trip in approximately 1 minute and 52 seconds. This meant that my scooter maxed out at about 16 miles per hour. That's pretty slow for my tastes considering Razor Wind was estimated to run at 30 miles per hour and Razor Reloaded was to run at ~25. This is not a major issue but if I decide to address it I could change the sprocket ratios or select a new motor.

Thursday, June 6, 2013

Cambridge and Guavascooter

I made it alive to MIT. Today marks one week of life up here. One week of life walking about because my latest scooter  just came today. Discussing the name with Charles, we decided a more fitting name for it was "Guavascooter", as an extension of Melonscooter except using the guava sized SK3 motors.

Without delay, here comes testing.

Tonight I drove this route to MITERS from my temp housing at Tang. Its about 1.68 miles as indicated by the picture above.

This route expended 1967mAh of battery capacity. From a 6900mAh pack, this means I could run this route about three times safely assuming voltage drop does not fall below 21V (ESC cutoff).

Tomorrow, I will determine the max speed of this scooter via time trials down Vassar street. More to post later.

An additional note, I am no longer using the esc in Guavascooter. The current ESC is a elifebike esc, which Charles and I will touch on later in the coming weeks. Cheers!

Sunday, May 19, 2013

Gigarazor: The Practical Scooter (Backblogging)

About 5-6 weeks ago, I bought one of these from a fellow Georgia Tech Student.

What is it? That is a fully functional Razor E300 electric scooter. I bought it with the intention of making it even MORE functional.

I was looking at Cambridge and Boston now. A larger campus with more bumps of sorts from historical sidewalks and roads. I was planning some seriously legit mods to Razor Reloaded (another scooter you dont know about) but opted for the premade sturdy steel frame foreseeing a busy time ahead of me for the final few weeks of the semester.

So what was the plan?

  • new motor
  • new batteries
  • proportional control
  • big switch
  • power consumption feedback
  • new controller
  • LEDs everywhere

I had bought a Turnigy Aerodrive SK3 6374-149 awhile back and decided it would be my motor choice.

After removing the old components, a motor mount was fashioned quickly from some 3/8" 7075 plate on the waterjet.

I had initially picked the Jasontroller as my brushless controller because my other graduating friend was selling his old equipment. Here is a unmodified no-load test from a bench top power supply.

The battery was comprised from generous donations from A123. This 8s3p pack shown below was bridged using copper mesh instead of copper braiding. I figured the equivalent copper cross section couldnt be any worse than the 12ga wire exiting the pack.

Completed and bundled. Yes, that is a DE9 female connector being used as a balance plug. It works wonderfully.

By this time I started riding it about campus. It did not have a main switch (on order from RMP) nor did it have a top plate. Regardless, it was hella fun.

Then came the top plate. Attempting to bend polycarbonate with a 40W heatgun...

...failing to bend polycarbonate with a heatgun.

Friday, May 10, 2013

Thrifty Roboting: The Vex Motor Controller 29

The Vex Robotics Motor Controller 29 is quickly becoming the go-to esc for insect weight class robots. It offers a small form-factor single channel esc at a low cost of $10. Very minimal; no LEDs, current protection, or temperature protection.


The website advertises 8.4V, 4A max. Roboteers know from experience that these little controllers can be pushed much higher. Some report running as high as 14.8V on some rather beefy 370 sized motors. this type of performance does not go without some minor electrical work.

The ambiguity arises in the minor modifications. Those who have never hacked about with analog servo boards may be unfamiliar with these methods. This post will provide a step-by step on how to hack your Vextrollers apart and will also conclude with a component level analysis and bench test to decipher their true capabilities.

Step 1: Deshelling the Casing
The enclosure is two halves of injection molded plastic with some drops of CA applied in the seams. To get the crab meat out, it is as simple as cracking the rather brittle superglue.

Stock OEM Vextroller

Apply a sharp knife to the corner and press in until the blade sits within the groove.

Applying Knife Edge to Vextroller Casing

Wiggle the knife until the casing begins to pry apart. Repeat this process for all four corners until the shell magically pops off.

Step 2: Modifying the Power Leads
The blackbox IO model of the Vextroller looks like this:

To get higher voltage input to the esc, we need to do some splicing. This is what we want in the end:

Cut the PWM male connector off, and separate the white, black, and red wires from each other.

PWM wires separated. Fourth Wire Created from the Leftovers

Then solder another black wire to GND (where there is already a black wire).

Black Wire Added to the Underside of the Board

You should now have 4 wires coming off of three pins. The white (signal) and one black (GND) wire will go to your receiver. The red (V_in) and other black (GND) will go towards your power source.


Step 3: Add Connectors and Protective Coatings
The last step is to add the appropriate connectors that mate to your devices. It is common to have the female PWM cables for the signal since most hobby receivers use male .1" spaced headers. I typically replace the motor connector with 2mm bullets or simply solder onto the motor ends. The entire esc can be covered in a tube of 3/4" OD heat shrink or potted with a rubberized glue. Completely up to you!

Here is a pair of Vextrollers installed in my Antweight, DDT. I used CA to bind two boards side-by-side and then used breadboard jumpers to connect the V_in and GND together. Because GND is also shared between inputs on the Rx, I only have three wires going to my receiver (expected four) and two wires headed to my power switch. The pair was afterwards wrapped in electrical tape and the leads will be potted in GOOP later.

Congratulations! You now have a simply-elegant insect-class esc. I have created a IGES solid model for the caseless Vextroller for those who wish to integrate it into their CAD. It can be downloaded below:

Download Link for Vextroller 29

NOTE: Since you will likely be using this controller with other components that supply power to your receiver (BEC) it is not necessary to add the fourth wire for the Rx GND. Instead, use the original three wires where V_in and GND are used for mains power and signal is the only wire going to the Rx. The device supplying BEC will provide GND connection. This technique will reduce ground loops, which are a major source of noise. In other words:

Parts Breakdown:
Here I have pictures of the top and bottom layout of the board. It can be seen there are some SMT resistors, a tantalum capacitor and some other devices. The main distinguishable components are listed below with datasheet if available.

Top of the Vex Robotics Motor Controller 29

Bottom of the Vex Robotics Motor Controller 29

  • Microcontroller:          PIC12F615
  • Gate Drivers:              301(?)
  • Half-Bridges:              FDS4935BZ (Fairchild), IRF8313PbF (International Rectifier)
  • Voltage Regulator:      2x(?)

Aaronbot3000 reports the voltage regulator is linear and outputs 4.5V

Based on these components, the Vextroller should be able to handle 30V and 6.9A continuous. these values are subject to change as more is learned about the gate driver capability and voltage regulator capability.

Vextrollers will be tested for their maximum voltage ratings as well as their maximum current ratings through a no-load incremental voltage test and a constant voltage incremental load test. From these experiments we expect to detonate two Vextrollers but hope to determine a maximum wattage rating for robot use.

Known Motor-Voltage-Weight Class Pairings:
Pololu 50:1 - 11.1V - Antweight
Fingertech Silver Spark (11's, 22's, etc...) - 14.8V - Antweight
Fingertech Silver Spark (22's and 33's) - 14.8V - Beetleweight
Kitbots 1000 RPM Motor - 14.8V - Beetleweight

If you use the Vextroller and would like to share your setup, please let me know so I can add yours to the list of successful pairings! Thanks!

Wednesday, May 8, 2013

Beyond Unboxing: Chinese E-bike Controller (

This post is a preliminary to a much more comprehensive post detailing controller capability that will be made when I am nearby more legit diagnostic equipment. For now, this post will contain my conclusions from observation, use, and light modification.

The "Beyond Unboxing" series is inspired by Charles Guan's posts concerning these same type of escs.

The Thing:
I have purchased a marketed 24V, 250W brushless controller for e-bikes hopefully as a replacement for Jasontrollers. What caught my eye was the cheaper shipping, faster delivery time, and the seller whose English was grammatically correct. It arrived just yesterday and after some observations, I am very excited about this controller.

The seller even included pre-stripped connectors!

Its casing was a interesting trapezoidal feature. Still a single tube of extruded aluminum, still two silicon pads on either end captured by two stainless steel brackets. I even think they used the same screws...

The chatparts esc also has fewer wires. The seller includes a diagram of the connectors (without labeling the individual wires) but there are unfortunately more than 9 connectors on this controller.

In short, it is incomplete. However the function can be deciphers from the connector ends since these are meant to be direct drop-ins for existing EV systems.

The Comparison:
Now lets have a closer look at a jason and chatpart side by side.

Its smaller... Less thick by about 1/8"

Board looks less janky. The chatparts ESC (bottom) has only SMT components whereas the jason (top) does not. I was also intrigued by the 7 labeled vias at the top left of the esc (in this picture, in this orientation). Those look like programming pins. It may be possible to reverse engineer the software and find out REALLY how this guy works.

Again, fewer wires.

Ah the processor! Everything in here is ST Mirco stuff.

Processor:     STM8S903K3

My test rig is just my latest GigaRazor scooter (that none of you know about yet) with a watt meter inline with the power source. Note that this is a sensorless configuration. I will not be able to conclude as to what functions it has but I can at least detail its behaviors.

Unmodified Test runs:

  • No-load behavior: Ramps up until near max throttle where controller experiences cutoff. Not choppy intermittent behavior, simply cuts-off. Repeatable behavior. However does not affect throttle behavior for subsequent runs. Lets consider this feature Controller Protection.
  • Load behavior: ~20 Amps current limit stock. Does not experience high speed cutoff under load (perhaps I am not traveling quick enough to reach no-load speeds). ESC is cool to the touch.

The controller was then modified using the solder-blob shunt method.

Modified Test Runs:

  • No-load behavior: Experiences intermittent cutoff at higher speeds. It is choppy, unlike the unmodified behavior before.
  • Load behavior: increased acceleration as expected. Choppy behavior as described in no-load experienced in load behavior. Watt meter reads ~50 Amps peak. Case is hot.

The controller shunt was then lowered to 40A and then 35A afterwards. The choppy behavior still persisted. I took this opportunity to measure to case surface temperature and discovered it was in excess of 120 degrees F AFTER a run at higher current.

My scooter uses an 8s3p A123 LiFePO4 pack and a Turnigy Areodrive SK3 6374-149 motor. This means at nominal voltage I should be rotating ~3933 RPMs. However at charged voltage I would be ~4172 RPMs. For comparable controllers in this application, it exceeds the infamous RPM limit determined by Charles and Shane years ago. To validate the RPM limit cutoff, I will test no-load conditions again using a 24V nominal battery or PSU.

I will withhold my final judgement until I can more easily explain its behaviors and features. For now I can summarize the main takeaways:

  • Runs sensorless (sensored TBD although it has wires for it)
  • Possibly has high eRPM controller protection
  • Possibly has a second method of current limiting
  • Possibly has over temperature cutoff control
  • Smaller and cheaper than Jasontroller
  • No self-learn

More to come.

Tuesday, May 7, 2013

The Long Awaited

I fully realize that I have not posted anything new (despite there being absolutely awesome things happening!) since Fall 2012. That is because I was busy. However, I did that thing called graduating and now have oodles of time to back-blog all the good stuff.

Everyone awaits they day they graduate. I've been hearing it from my peers for the past 4 months, accompanied by tears of joy, tears of sadness, and senioritis. The part of graduating I was anticipating the most was actually commencement ceremony. Not because of the symbolism when walking across the stage, or moving the tassel, but because there were large groups of people present. Time to do something awesome in my last hurrah: Decorate my graduation cap.

The original plan was to illuminate a piece of acrylic from the side using RGB LED strips. An arduino nano or equivalent uProcessor would control the transitions between the colors. All of this would be powered by one of my numerous 3s lithium polymer batteries. However, I was lazy with the parts ordering. So here is the final instructable on how to make this guy.


Step 1: Design the acrylic cutout
I designed it using SolidWorks. Began with the diamond shape and then extruded-cut the letters. The logo was generated from importing an image and projecting it onto the background. Using the Spline tools I could trace the more complex geometry.

The material selected was acyrlic. This was because it had excellent optical properties and could be laser cut using the machines at the Georgia Tech Invention Studio

Step 2: Cut chamfers into the polycarbonate at the bend points
The most important thing to remember about this is to have enough allowance in the bend. I'm not going to discuss k-factors here, but cut away some extra material to allow the corners to meet without stressing the sides of the U. Do not just remove material along the theoretical permissible lines.

Step 3: Apply LED strip to the inside of the U-channel
The LED strip I linked too earlier has an adhesive back. This made it much easier to stick to the inside of the channel. Also, I believe the width of this strip is 6mm. Should interface perfectly with the mcmaster part number I also linked earlier.

Step 4: Bind the ends of the U-channel to encapsulate the acrylic cutout

Step 5: Attach to grad cap (hobbyking brand superglue!)
The acyrlic plate actually levitates within the constraints of the polycarb U-channel. If I wanted to reuse these materials, I could unfurl the polycarb channel and simply take everything out...

Step 6: Solder wires and connectors
I recommend adding connectors on both ends of the power switch. One plug will be for your battery, the other allows you to take the cap off without having to extract all your electronic guts. I may update this step to include my wiring harness.

Step 7: Graduate!

The cap was well received by everyone (except the fire marshall). As a result, I received lots of air time that afternoon.

From the GT camera crew there:

... and  the Atlanta Journal Constitution.

What a way to cap off the end of a four year adventure. Thank you friends for all the wonderful experiences. I dedicate this work to remember all of you.

Some Responses from non-GT folk:

i want to sex you in the most non gay fashino possible
so one of us has to be in cosplay"


The next step for me is the legendary MIT!