The Story of Brain Stormz

A documentation of our struggles and triumphs, our growth, and our life as a team.
Noah DeVico, Joshua Soto, Nathan Choi, Daniel Peace, Jacob Newman, Kimberly Sharp, David Modrovich, Olivia Choi, Ian Murray, Stephanie Ramirez, Olivia Owen, and their coaches and mentors: Jeff DeVico, Sung Choi, and Garrett Smalley

Quick links


The End of FLL Year 2

Brain Stormz began as a seven-member FLL team called the B.E.S.T. team (Building Excellent Structures Together). As we planned for our next year, we were faced with a challenge- two of our members were moving into high school, and more than half of our team members were done with FIRST programs. We had a difficult decision to make: Stay in FLL one more year now that we had more experience, or move on to the next level with less than half of our original team. As a team, we resolved to move on and face FTC. It wasn’t a complete jump in the dark- one of our team members from BEST had been in a different FTC team before, and a friend from an engineering club joined our team for the FTC year. Our first meetings as a team were before we even knew what the challenge was. We planned, prepared, discussed, fundraised, and had a pool party!

The Beginning of the Challenge

Finally the long awaited day came. The six of us (four students, plus the coaches) traveled to the kickoff and were amazed at this new challenge. When we saw that our robot had to hang on a bar, we all exclaimed (inwardly or outwardly)- partially in shock, partially in worry, but mainly just because it would be really awesome when we accomplished that.

The year started out with fundraising and business planning. We were diligent with it, but we were waiting expectantly for the robot parts. Raising money was an extremely slow process! We sent emails to about a hundred different robotics and engineering businesses and only got a couple replies- mainly, ‘We would like more information’ and ‘We cannot give out sponsorships at this time’. And there was another issue! To receive many potential donations, we needed a nonprofit organization- something which we could not get easily.

Our planning for the robot was pretty vague. We weren’t sure what the new non-lego systems could do, or what wheels were best for getting up ramps, or what arm attachments could support a dangling robot.

Working with the Robot

After our Tetrix parts were received we immediately put our fundraising on hold to experiment with the robot. The first thing we built was PushBot (the five-minute bot that takes five hours to build), and we decided to use it as the base for our competition robot. That turned out to be a bad idea, but it was a start.

After the initial experimentation was done, our team split its time and energy between fundraising, engineering notebook work, and work on the robot. Almost all of our meetings (except for the pool party) were at the DeVico’s house in Camarillo, for a few reasons: 1. The house is at the midpoint of all our houses. 2. We met mainly at that house while we were an FLL team. 3. They were willing to use it!

Most meetings work like this: We have approximate times for our members to arrive and leave. We decide what to work on- most of the time we just continue where we left off last meeting- and we split up to progress. The robot process went slowly- we completely destroyed our design and started from scratch halfway through the year. Even worse, the treads- the parts that we really needed- were back-ordered, and we weren’t sure they would arrive in time. But we got them eventually, and we worked harder than ever to design a workable model before the competition. As we got closer and closer to the deadline, we became more determined.

The Final Days

Christmas Break was over. It was only a few weeks until the first competition- but our robot just would not work! What were missing? During the final days before the competition, our meetings got longer and longer- stretching from two meetings a week to three and then four! With one meeting, our members arrived a few hours after lunch and stayed till way after dinner- but we had to get everything done! This time was stressful, but we finally found the answer to making the robot work- using a tape measure to pull up our robot.

The Qualification

Finally, we arrived at the qualifying tournament. We set up our table, passed out some bracelets, and went scouting. We were in the first round of the day, and it was horrible. After driving for a while in autonomous, our robot lost connection and was completely frozen during driver control. Luckily for us, none of the other teams did much better and our alliance still managed to get first!

Our team made it slowly through the day. Our robot performed spectacularly. Our whole team cheered when it pulled itself up on the bar time after time! Of course, there were always mistakes. The robot lost connection, or dropped a part, or got stuck. There was one extremely stressful moment when our driver was about to touch the top pole before the endgame! Luckily he realized just in time and we barely missed a huge penalty.

Then it was time for alliance selection. We were in fifth, and the first four teams got to pick their alliance partner. Before the selection, our team had a private meeting outside. The question was- What alliance partner would be best for us? There was still a chance that we could pick, and it would tell us where to focus our scouting. We had decided that of all the other first place teams, ‘the Ducks’ would be best for us. They had a good record, and they were focused on collecting debris rather than doing a pull-up, meaning they would be a good compliment to us. So we went in and talked to the different first place teams- all the while looking at ‘the Ducks’. Would they pick us? Or would we get stuck with a less-than-ideal team?

When the time came, we choose Noah as our representative and sat in the stands with our fingers crossed. ‘The Ducks’ got to choose first. Their representative stepped up to the mic, gazed around the room, and announced, “Team #8471, ‘The Ducks’, graciously asks Team #10298, ‘Brain Stormz,’ to be their alliance partner.”

We were in! As soon as the ceremony was done, we hurried over to a table to begin strategy. We were nervous- ‘The Ducks’ were a veteran, victorious team, with about ten members and a record of huge awards- First Place Inspire, First Place Robotics Competition, they were the best of the best! And we were only a rookie team, with four guys, at our first ever tournament. What if our robot failed? What if we let this veteran team down? We would be lucky if any first place team ever picked us again!

Our first round confirmed our fears. Our robot’s connection glitched out again! ‘The Ducks’ were kind about it- they helped us fix our robot and gave us some suggestions for the next round. But we resolved not to make the same mistake again! We barely made it through the semifinals, and then the finals. The timer counted down, and our robot did it! We won the finals — we had won the tournament, and it was awesome! Besides the big win, we also got awards for 2nd Place Inspire (incidentally, 1st place went to ‘the Ducks’) and 1st Place Robot Design.

The second qualifier

We went to the next tournament with minimal changes to the robot, but with high hopes for placing high in the rankings. After many successful matches, we placed in the top 4 for the semifinals of the match. We decided, since we had already qualified the the regional competition at the last tournament, to bring along a rookie team who had not qualified yet, since we did not need to place in the top 8 in this match to move on. Unfortunately, this led to us being eliminated in the semifinals.

Moving on to the regional competition

Going into regionals, we had completely redesigned our robot lifter housing to use velcro. This eliminated some issues we were having with the tape measure binding. We also added an arm to activate the flag at the top of the mountain. We did well throughout the day of tournament, and we placed 6th overall going into semifinals. We picked two teams for our alliance partners, but ended up loosing in the quarterfinals, do to accidentally driving too far up the mountain before latching on, and thus tumbling down the mountain. Because of this, we unfortunately did not make it to the super-regional competition.


Brain Stormz began this year on a better foot.  Though one team member dropped out, four more people joined, so we started the season with seven robot-loving team members. In addition, last year’s team members knew the programming language, were familiar with the robot parts, and worked to familiarize the new team members with the ins and outs of FTC and robots. Overall, we were off to a great start.

As soon as the game was unveiled, we started to work.  We decided our priorities would be the center vortex, then the beacons, and began to strategize collection and shooting mechanisms, as well as what kind of chassis would be best.  First, there was the prototyping phase, where we explored and built our ideas separate from the robot itself.  A Hot Wheels-type shooter was our first idea, but after making a prototype of it, we realized it would take too many motors and too much space on the robot, so we discarded it for a smaller catapult design that utilized a team bracelet for spring power, and a cam shaped like a Fibonacci curve for an easy reload.

With the chassis, we had a rougher start.  We couldn’t really decide what worked, so we ended up building and rebuilding the chassis two or three times.  Then, the team started thinking that they wanted more than the standard drive wheels, say omni wheels or even mecanum wheels.  Eventually, after much discussion, we decided that it would be best to shoot for getting mecanum wheels, but to start with regular wheels and a versatile chassis that would be able to convert to mecanum easily.  For the collection mechanism, our first idea came later on in the season.  It consisted of two “arms”, each having an empty painter’s tape roll attached to the end of them, by which we could grab the ball and transport it to our catapult in order to shoot.

Finally, the week before League Meet 0, our robot started coming together. We assembled the robot and immediately started on programming the autonomous and practicing driving. Unfortunately, our mecanum wheels were not functioning properly; we had a limited range of movement. But, when Meet 0 came, we were ready.  As this was a practice meet, we switched out which teammates were the coach and drivers to see who was the best at these positions. The robot worked well, but we definitely had a lot of work ahead of us. We also learned that we needed to put more of our focus on the beacons, especially in autonomous, where a team could get a 100 point lead in only 30 seconds!

Excited and inspired, we went right to work.  Between Meet 0 and Meet 1, we added a beacon-pusher to our robot.  We also changed out the speed gear ratio for a one to one ratio in our mecanum wheels in order to fix our inability to move side to side, as well as taking them apart and cleaning them.  However, these measures did not solve our problem.  On the positive side, we reinforced our robot and worked on programming for the autonomous period of the game.

In Meet 1, we performed much better.  While we were not prepared to push beacons in autonomous yet and had some wiring issues, we did improve our score by pushing them in TeleOp.  Between Meet 1 and Meet 2, we worked on wiring solutions, printed and implemented a 3D case for our phone, and built a new collection mechanism, after the standard FTC form.  Our work really paid off and in Meet 2, we improved our score greatly, hitting two beacons in autonomous and hitting beacons and shooting balls in TeleOp.  However, our first match failed because of a programming error in the autonomous shooting, but we did well on the rest of our matches.  Meet 3 went even better.  Unfortunately, we had a wiring problem, and failed our first match again, but we came back and won all the rest of our matches.  The league meets were a really good experience for us to get the feel for the strategy and game this year.

We looked forward to competing in the Inter-league Tournament. As for future design, we began to design a smaller shooter that will fire faster, as well as a mechanism to lift the cap ball.

The First Tournament

At last, the league meets had ended and we found ourselves at our Inter-League tournament. When we arrived, we did not know the competition all that well, so we began scouting teams for potential partners or teams to watch out for on the field. Some robots had the same “jack of all trades” strategy, while others had a much more specialized approach. During the morning, we met up with several teams we knew from our league meets, such as Rock and Roll robotics, Heat it Up and Keep it Cool, and Team Torch. We also got to know one of the most powerful players in the tournament, Rise of Hephaestus.

After passing robot and field inspection, we headed off to judging. After practicing a while in front of our coaches and families, we felt prepared to answer any question the judges could throw at us. We left the room feeling relieved and energized for the day ahead. Well, after eating lunch, that is.

Now, it was time for our robot to compete. While our first round was plagued by the all too familiar disconnect midway through TeleOp, we still managed to pull out of it with a win thanks to our autonomous and our alliance partner’s cap ball lifter. The next few matches were also solid, except for one where both our alliance partner and our opponent accidentally selected the opposite color beacon, canceling both out! At the end of the seeding matches, we placed 1st in the competition, meaning we would have to choose our alliance as captains. After meeting as a team to discuss our picks, we chose on the two teams that would best fit our autonomous and were very strong together, because they would have to compete together, too. Our representative, Nathan, chose the teams Rise of Hephaestus and Rock and Roll Robotics during alliance selection, sending us into finals with a very strong alliance.

We hurried over to the alliance area to meet with Rise of Hephaestus and Rock and Roll to discuss strategy. We decided that we would run our robot with Rise of Hephaestus for the first round. After a high scoring first round, we won our first match, but our robot didn’t seem to be working all that well after that match. We had to make a swap out, and so we decided to sit out of this next match and have Rise of Hephaestus and Rock and Roll run their robots together. Rise’s autonomous worked perfectly, and we had another victory under our belt. It was time for us to square up against the second placed alliance!

Our first match was very close, as both teams capped the ball. Luckily, we were able to score more particles in the center vortex, and our alliance took the first round. The second round, however, did not work very well. We were now 1-1, and headed into the tiebreaker. Still, our robot was not up to the task, so we had Rise of Hephaestus run once again with Rock and Roll for the final match of the tournament. We held onto our seats in the audience and in the alliance area, waiting for the scores to come out of a very close match. The phrase “RED ALLIANCE WINS” came onto the board, and we all cheered! After handshakes with the other teams, we settled back into our seats for awards.

After waiting a while in the auditorium, the award ceremony began. We got to go up with our alliance to receive our winning alliance medals, and we also were given the Control Award! We also received a nomination for the PTC Design Award, second place. Once we had taken some pictures, it was time to head home, and prepare for Regionals competition!

Preparation and Inspiration

Our victory at ILT left us quite a happy team indeed. As we left our first tournament of the season, we had already begun discussing what to put on the robot. Did we want more beacon pushers? Should we switch out our catapult design for something new? Was it time to work on the cap ball? Ultimately, we decided that, since we didn’t have much time before Regionals (3 weeks, to be exact), it would be quite difficult to implement so much onto the robot in so little time. It would be FRC levels of engineering! So, we decided to make small improvements, such as making a shock absorber for the catapult, find a better conveyor belt for our collection mechanism, and completely clean out the wheels and gears on the drive train. This would be a much needed “pit stop” for our robot, but that wasn’t all we needed to do.

Our presentation during judging was good, but it could definitely use some improvement. We practiced our presentation multiple times in the robot lab, coming up with some good jokes and insightful improvements to our then existing script. We simulated interviews and found some good answers to the most expected questions.

During this 3 week period, one of our team members made a discovery. He found a way to compact our shooter so we could fit a trough for particles in our robot. After working with another engineer, he prototyped a basic spring-loaded launcher, that could, in theory, replace our bulky catapult mechanism without much change in our driving. Ultimately, we decided to not implement this design, mainly because we could never get it out of the prototype phase. Such a design required a large motor to turn the gears, something that we could not afford at that time, both monetarily and in regards to space on the robot. We still kept the design and brought it to tournaments, hoping that one day we would be able to use it.

Los Angeles Regional

We were proud of our robot and the work that went into it, and now it was time to test it on the field at our second tournament: the Los Angeles Regional. After going through robot and field inspection smoothly, we prepared for our early spot for judging. We reviewed our presentation with our coaches, and headed off to the judging room. The questions we received were more challenging than those from the last tournament, which was to be expected from a higher level of competition for awards. We left the room with confidence, and we gave each other notes on our performance. Most of us went back to man the booth, while our two drivers and coach went to attend the driver meeting.

Our practice round went worse than expected, as our autonomous malfunctioned, giving our opponents an extra particle and 30 points. Fortunately, it was an easy, albeit annoying, fix: drive train issues. This got us thinking if we should make our drive train simpler, or at least more accessible so we could tighten it easier. We made a note of it and headed into our first scored round.

After taking a decisive victory due to our now functioning autonomous, we met up with some teams that we knew. Rise of Hephaestus, Heat It Up and Keep It Cool, and Marlbots were all there. We asked them about their strategies, how their season was going, and any problems they had encountered on the way. One thing that we heard consistently was that the cap ball was a very difficult mechanism to attach without drastically affecting the way the robot controls. Teams told us about many long hours their drive teams spent just getting used to the sluggish and unpredictable movement caused by adding a cap ball mechanism. We took this into consideration, as we also wanted to add the cap ball later in the season.

Our next four matches were quite solid, winning three and loosing one, putting us in third place after seeding. Before alliance selection, we talked strategy with several other teams and our own, depending on which teams selected us. Our representative Nathan accepted Marlbots’ invitation to join their alliance, and we headed into the finals with FusionYX (pronounced fusionics) as our second teammate.

Our first match-up went perfectly: no mistakes. We performed well, and went to the semifinals. It was time for our toughest matches so far in the season. Our opponents were Team Torch, a veteran, world class team, and Rise of Hephaestus, perhaps the most well-rounded robot in the competition. Needless to say, we couldn’t afford to make any mistakes. Our first round was close, but due to a slight error in the other team’s programming, we gained 30 extra points, giving us a win. Our second round was not so; with our opponents running at full capacity, they could shoot faster and more accurately than Marlbots and FusionYX could, giving them the victory in that round. Now, it was down to the wire, as whichever team won this next round was guaranteed a spot at the Super Regionals in Tacoma, Washington. Marlbots decided to run their robot with ours, with us running our autonomous. As we sat in the bleachers, we hoped that our drive train was tight enough, and our program began. It worked! Both of our beacons were red, and all three particles were scored! A perfect autonomous was then followed by a neck-and-neck driver control period. Whenever we could interrupt a shot, we took the opportunity, and we scored many particles. During endgame, Marlbots and Rise of Hephaestus raced for the cap balls, and after a tense 30 seconds, both cap balls were in their respective scoring positions. This one was going to come down to ten, maybe five points. The announcement came. We looked at the scoreboard. It updated. “Final score: 230-225. RED TEAM WINS!” the scoreboard showed. We cheered! It was final, we were going to Tacoma! It was time to head home and get ready for Super Regionals!

Preparing for Super Regionals

Although we were very pleased with our success at Regionals and our chance to go to the Super Regional Championship, we wanted to go further, to Worlds. To do that, we knew we needed to make significant improvements before Super Regionals, so we decided to work on improving our shooter and our driving, as well as our cap ball mechanism.

During this period, our drivers met often, greatly improving their skill at controlling to the robot. We also widened our collector area some, to improve the ease with which we could collect the particles. We continued working on various tweaks to ensure that our robot performed as well as possible at this competition, since this was our one shot at Worlds.

For the shooter, we worked on designing a compact, piston-like mechanism in CAD, which we built with the help of a local machinist. This, we hoped, would lessen the shooter’s violent jolting of our robot and therefore make our shooting more accurate and efficient. A group of the team members also started machining a cap ball lifter constructed of drawer slides attached together by blocks of aluminum, so that they would extend to allow the cap ball to be dropped on top of the center vortex. However, neither of the two new mechanisms were ready to be put on the robot by Super Regionals, so we had to be content with the smaller improvements in both robot and driving.

Super Regionals

At the competition in Washington, we struggled through several unexpected problems with our robot, but still did well, competing against some of the top teams at the tournament, and even getting picked for an alliance. As a result, we qualified for the World Championship!

Preparing for Worlds

Between these two top tournaments was a hectic few weeks, which found our team making a radical decision. We had made it to the last tournament of the season, the hardest and the best one there is. Yet, as we strategized and considered our robot, we realized that a mediocre robot like we had would make it only a short way in the competitive World Championship. The last thing we wanted to be was a mediocre team, so, with only a few weeks ahead, we made the decision to totally rebuild our robot in order to move its performance beyond mediocre and make it a robot worthy and capable of competing with world-class robots. Our plan was to rearrange and improve the mechanisms on our robot and make room for the cap ball mechanism that was still in the works, as well as a mechanism to move the balls from the collector to the shooter more effectively. One week went by. Then another. The mechanism for delivering balls from the collector to the shooter was built and we found it greatly increased our efficiency. However, the cap ball mechanism was progressing far slower. Time was running out. Finally, we were forced to make a difficult decision. Things weren’t going as quickly as planned. The robot was nearly done and the drivers needed to practice, but we had not quite finished the cap ball mechanism enough for it to run well on the robot. We ran into several problems. How were we to hold and release the cap ball? This, in turn, presented the question of how to wire such a mechanism. The drawer slides were too wiggly and the arms for the ball too flimsy. The mechanism, once temporarily put on the robot, made our robot too heavy to use our mecanum wheels very well, compromising our driving. These problems were discussed and, finally, we painfully came to the conclusion that we should not mount the cap ball mechanism on the robot because it would probably not be of good enough quality to compete with other robots that had developed their cap ball mechanisms over the whole season. In addition, if we put it on, it might compromise our performance in other areas, due to its weight. Thus, in a very close vote, we chose to continue on to Worlds without this last mechanism.

The World Chapionship

At Worlds, we endured both difficulty and success. Our first few matches were riddled with phone disconnects, other electronic problems, and issues with our drive train. This caused us to lose our first two matches, despite the opposing alliance having relatively low scores. It was a bad start to our last tournament. We did our best to fix our issues during the intense pressure of the competition. After fixing most of these issues, we won the rest of our qualification matches, even the one against Rednek Robotics, the future champions of the world!

After the qualifications matches finished, we were ranked 7th in our division, the same rank we got at Supers. After much nail-biting, we were picked as the second pick of the 3rd seed alliance! Unfortunately, our alliance was just not strong enough to beat the 2nd seed alliance, who went on to become the world champions. All in all, it was an amazing experience, and we were excited by just well we had done, especially for a 2nd-year team!


When September finally came around, the team was super excited. They were about to embark on another year of FTC and have another set of challenges to overcome. What could be better? After waiting in expectation all summer, Relic Recovery’s reveal was a huge treat and the team immediately started brainstorming ways to approach it. Someone suggested we use something like a conveyor belt to move the glyphs from one side of the robot to the other, an idea that met with much approval. Further expanding this idea, we thought that it might be more efficient if we could just extend this conveyor belt from our robot to the cryptobox in order to place the glyphs directly where they need to go. We quickly found that we could easily use the drawer slides from last year’s cap ball mechanism to work as an extending conveyor belt by simply stringing taut surgical tubing parallel to the slides between two axles controlled by a motor. However, this was still in the prototype phase when League Meet 0 approached, so we constructed a simple robot with a jewel arm and two glyph grabbers, one that only moves vertically, and another, also known as the “slam dunk claw”, that pivoted in the middle, allowing it to reach both sides of our robot. With the addition of an autonomous program and driving practice, we did quite well at this first meet, in spite of our simplistic design and a few problems.

Meet 1 soon followed, as did much improvement. We rebuilt our slam dunk claw so that it could hold two glyphs and spin them, in order to grab and deposit glyphs most efficiently. In addition, we realized that this claw worked much better at transporting glyphs over our robot than the clumsy prototype of a conveyor belt we had been working on, so we decided to continue using that and drop the conveyor idea. However, our prototyping was not over there; the relic arm remained. Thus, we redirected our focus to the creation of that mechanism, while still improving the claw arm. We have tried to make similar linear slide systems for three years now, so this year we were able to build off of our previous experiences to begin this mechanism.

While this was going on, we were simultaneously developing our next chassis in CAD. We took this design to some professionals who graciously reviewed them and made some suggestions, which we gratefully accepted. This new chassis uses Mecanum wheels, allowing us to move in any direction without turning. It will also have room for Jewel arms cut in the sides, as well as removable top plates with the standard hole pattern cut in for easy access to the chained drive motors.

Having all of these mechanisms still in development, we brought our new and improved claw to Meet 2, not sure of what to expect. Although our auto was a little rough, we ended up filling the first full Cryptobox in the region, exceeding everyone’s (mostly ours) expectations! Our Christmas break was spent thinking of how amazing it was to fill that Crypto, and how we hope to do it again in Meet 3.

The main change on our robot from Meets 2-3 was the thinning of the claws on the arm to allow us to more easily place glyphs in the box. However, we were far from unproductive during this time; we finished both our Relic mechanism and our chassis. Neither of them were competition ready, so they didn’t end up on the robot. Instead, we used what we knew and went back, actually scoring the regional high score at the time, and ending up at the end of the league meets ranked 1st.

After Meet 3, it was all hands on deck, full steam ahead on FutureBot, as this was the biggest gap of time between competitions that we would have for the rest of the season. The slam dunk arm was taken off of our old chassis and mounted onto the new, alongside our Relic mechanism. We also began working on a glyph intake mechanism that would facilitate the collection of glyphs into our claws using compliant wheels. We tested this mechanism at a scrimmage we hosted with several local teams, and found that it was shredding our glyphs, literally tearing them to pieces. We then made them flip down on plexiglass rods so that they would not tear the glyphs, and it was a huge improvement. Whereas before we were struggling to fill a Crypto without a pattern, we were now comfortably filling Cryptos with pattern consistently. We were prepared for ILTs, and ready to take the new competition by Storm[z]!

They say that failure is the best teacher. It’s also the hardest way to learn. We learned a lot this season. We learned to keep things not too complex. We learned to start with an acheiveable design, and stick to it. But most of all, we learned one thing: It’s the little things that bite the worst.

Many times in a match, our drivers would lift up the arm, thinking that they had grabbed a glyph, only to have it fall out, and have to be re-grabbed. The problem was that we were trying to control the servos like motors. The problem is that servos only get told what position to run to, so we haad to increment the requested position each loop cycle to acheive a motor-like control. The problem was, at the competition the loop times were longer than in our lab. Due to the way we programmed these controls, the servos were moving more slowly than they should have been. While we were able to fill a cryptobox in our lab, we were never able to do so in competion. Ultamately, if factored the loop time in when icrementing the requested servo position, we would have likely avoided the issue completely.

We learned a lot this season, and we’re cautiously optimistic about our future seasons.

What’s Next

We’re a four-person, unmentored, private rookie team- and we were still able to win the competition! It was awesome! Besides the big win, we also got awards for 2nd Place Inspire (incidentally, 1st place went to ‘the Ducks’) and 1st Place Robot Design.

Coming up soon is our regional tournament. We might win again, we might fail epically- but no matter what happens, we’re still a team- and we can be confident that we’ll learn skills that will apply to our lives.