Pandemic Sports

With the COVID-19 lock down in place, there was a large gap in sports and activities.  Enter Die Cast Racing!  I'm not sure how I stumbled on this, but I'm hooked.  Here is a prime example:

There is action, humor, and compelling story lines.  Fun for both grandpa and grand kids!

Best of all, this is a sport anyone can participate in.  Even during a pandemic.  Without breaking the bank!  There are mail-in races around the country you can send cars into.  They each have their own categories and limits.  Diecast64 has a monthly race where there are categories for everything from straight out of the package, to highly modified and weighted cars.

For the June races, I send in 9 cars, one of which had custom flashing lights that started when the race started.  None of my cars placed in the top ten, showing you how competitive it was.  I still had a lot of fun preparing the cars and watching them race.  Here are the two entries I made for the apocalyptic "Gaslands" game category:

The El Camino on the right made it to the second round and won a rough-n-tumble race, but missed out on the finals. I am already preparing cars for the next race. I have been working on an electronic timer to help gauge performance.  I will also have grand kids helping with the selection and testing of the candidates!

ChickTech Turtle Robot Workshop 2020

It is hard for me to believe that it has been seven years since my first workshop, and five years since I started with the Turtle Robot workshop.  The Open Source Turtle Robot I designed specifically for this workshop has gotten better and better.  My workshops leader skills have gotten better and better.  And this workshop was the best so far.  It was designed to introduce high school age girls to engineering, mainly electrical, mechanical, and firmware.  I tell them that engineering is all about problem solving.  The trick is figuring out which problems you like solving!

It was held on February 22nd, 2020, in an Oregon State University engineering building.  I love doing these workshops on college campuses because it shows the participants that college is a real, tangible place, not some hypothetical scary future.  They get to take a campus tour during lunch and a lot of the volunteers are students which make great examples of what the future may hold for them.

The challenge for this workshop was that it was one day instead of normal two.  By abbreviating the solder portion, we can concentrate on assembling and programming the robot.  There is great value in just getting a soldering iron in their hand, and them being able to point to the robot and say I soldered this part.  They also soldered a Maker Faire LED Robot that they could wear.

I had three excellent volunteers.  One was a high school STEM teacher I know from our HP days.  One was a OSU professor in computer science (very helpful).  Another was an OSU student who helped with the soldering.  I can design, plan, and assemble forever, but I cannot run these workshops without help, and I really appreciate them volunteering their time. I point out to the participants that we are all volunteers giving up our weekend because we feel that creating this experience for them is important.
The stand-out student (there is always one), not only figured out how to draw a circle (a many-sided polygon), but also worked out one of her trigonometry homework problems and had the robot draw the solution.  Nothing more powerful than the real-world output of a theoretical problem.
In past workshops, we have struggled making sure that everyone takes home a working robot.  These gals all finished early and had time to explore the example programs I had prepared, and to attempt some of the challenges I had issued such as navigating a maze.

The high-light of these events is when the parents and siblings come in for a "tech show" and you get to hear the girls explain how they built and programmed the robot.  It is an amazing feat to accomplish in just a few hours.  I predict great success for these girls in what ever they decide to pursue in their lives!

I am already planning on how to improve the next workshop.  Stay tuned . . .

Basic Nerf Stryfe Electrical Modifications, Part 2

Or, "Fuses and MOSFETs, oh my!"

In Part 1, we showed how a simple pair of 14500 sized rechargeable IMR batteries, without any rewiring or shell cutting, can take your dart speed from 60 fps to nearly 100 fps.  The one practical consideration I skimmed over was how to run two cells in a four cell blaster.  "Dummy cells" are the answer.

You can usually pick up a set from the same place you buy your batteries, or make your own:
On a graph of performance verses effort/cost, IMRs represent the biggest bang for the buck and the "lowest-hanging fruit".  It is all uphill from here, so if your thirst for performance is already satisfied, quit now while you still have some cash left in your pocket.

The graph, while meant to be humorous, also provides a bit of a roadmap of where we are going.  Everything from here on out will require you to violate the "do not modify blaster" molded into the shell.  You will need to open it, and learn how to solder. Time to become a rebel hardware hacker!

If you are still tempted to bypass your fuse at this point, let me show how little it will gain you, and why upgrading the wiring and adding a MOSFET is a better choice.

Comparison of average dart speed in feet per second of fused and bypassed fuses in stock blaster:

Comparison of average dart speed in feet per second of stock wiring and upgraded wiring with MOSFET control:

The increase in current that comes with MOSFET control means we need to change out the stock fuse if we are going to use anything other than AA or NiMH batteries.  The higher the current we subject a fuse of a given rating to, the quicker it will activate, and at some point that will start to occur during the normal starting surge.

A fuse rated at "1 amp" doesn't actually tell us everything we need.  Since starting current and stall current are the same, it is time we are really interested in.  We need the fuse to activate sometime after the starting current normally subsides (< 1 second) and before the motor is damaged (> several seconds).  The datasheet for a fuse series will give us what we need to select the correct fuse.  If we want the fuse to activate at 5A, we just need to find which fuse line crosses in the "seconds" time-frame.  In this case, it looks like the AHEF100 (C), which is confusingly identified as a "1 amp" fuse will activate in about 3 seconds at 5A.  Just remember that the graph, like our earlier starting current graph, is log scale.

As far as the actual operation of a MOSFET goes, and trying to keep this more practical than theoretical,  see the circuit diagram below in conjunction with the following points:
  • The "Gate" of the MOSFET is the signal from the rev switch that allows current to flow through the motor and from "Drain" to the "Source" to ground.
  • A small resistor from the "Gate" to ground keeps the MOSFET turned off until it gets an actual signal from the rev switch.  This prevents "floating" signals from accidentally activating the motor.  It can happen, and it is spooky.
  • An inductive load like a motor or solenoid will generate a voltage spike when de-energized as the magnetic field collapses.  This can damage the MOSFET, so a "off-ramp" is provide in the form of a "kickback" diode.
  • And finally, the MOSFET must be on the low side, or down-stream side of the load to work.  Much frustration will result if you try it the other way around.  Ask me how I know.
A MOSFET with a kickback diode and pulldown resistor can be just "wired into" a circuit, as demonstrated masterly by Tungsten EXE in this video, but I find it much easier and less error prone to design and test a circuit board.  That also lets me add a fuse!  In the Stryfe, I'm using the existing wiring tray cover screw locations and all components are on the back to avoid interfering with the darts.

My designs are freely shared as Open Source, so you can buy the PCBs and parts yourself, or modify the design to meet your own needs.  You can also save yourself the trouble and help me pay for this type of experimentation and design by buying a kit from me:
Tune in to Part 3 where we will finally upgrade the motors and hit the big league of starting currents.  And more fuses. 

Basic Nerf Stryfe Electrical Modifications, Part 1

Or, "How not to let the magic smoke of your blaster".

Quite frequently, a post on Reddit will ask, "Just got a new Stryfe, what mods should I do?"  Inevitably, a rapid barrage of well-meaning advice will overwhelm the newbie. Among these are:
  • Do not use IMRs, they are unsafe. You will have to rewire it and use LiPO.
  • Twist your fuse to bi-pass it.
The first, while always couched as promoting safety in our hobby, is unfortunate and mixed up with a lot of baggage.  It is also discouraging to anyone looking to take first steps in modding.  Recommending someone completely rewire their blaster with a high-energy source without proper understanding and most likely, as in the second piece of advice, without fuses, is in my opinion significantly more dangerous.  I think we should encourage beginners to take small steps and learn as they go.

Captain Xavier did a good video on rechargeable "AA-sized" batteries covering the history and why TrustFires, which are actually ICRs, not IMRs, ruined it for everyone.  My testing of various types of rechargeable batteries (other than ICR) show that they are safe in stock systems with the following caveats:
  • Stock motors only, not aftermarket which draw exponentially more current.
  • Reputable brands with capacity ratings, not cheap ebay stuff.
  • Two cells (2S) only, and with the stock fuse in place.
So, in my effort to "promote safety in our hobby", let's take a look at what actually occurs in a stock blaster when you pull the rev switch and fire a dart.  Ignoring the power source for a moment, let's concentrate on the motor, which is the primary factor in current draw.  The motor has several operating conditions:

"Total Current" is the combination of both motors, or total battery current.
  • Starting current, which occurs when power is applied but the motor hasn't started turning yet.  In our stock system with AA batteries, this may be above 2 amps, but will last less than a second.
  • Unloaded current: As the motor comes up to speed, until a dart is introduced to the freewheel, it is essentially idling.  In our stock system, this is under 0.5 A.
  • Loaded current: As the dart is introduced to the flywheels, the motor is loaded for the period it takes for the dart to clear.  At 16000 rpm, the flywheel is actually making a single revolution in under 4 ms, faster than an eye blink, so this occurs very, very, quickly, but the repercussion of the drop in flywheel speed plays out over a second or more.  This max current will be somewhat less than starting current, and will fall back to the unloaded current as the flywheels come back up to idle speed.
There is one other motor condition that is important to the discussion and that is stall current.  If a dart jams and the motors come to a stop, we basically have the starting current scenario with the exception that is does not resolve itself.  The motor will continue to draw maximum current unless a) the jam clears, b) the rev switch is released, or c) the thermal fuse comes to the rescue!  As the fuse heats up, it increases its resistance which, according to Ohm's law (I = V/R) throttles the flow of current, saving your motors.  After it cools down, usually in the same amount of time it takes to clear the jam, you are back in the game.

Stock System Stall Current and Motor Speed.
Of course, if you bypassed your fuse and fail to recognize a jam in the heat of battle, your motors become an expensive, non-resettable fuse, and the release of the acrid magic smoke occurs.  Hopefully you are carrying a secondary because your primary is literally and figuratively "toast".

Alright, enough doom-and-gloom.  We know a stock setup on AAs draws just over two amps and is anemic on dart speed.  What are the "first steps" for modding?  Change your batteries.  Let's look at data for the following:
We are primarily interested in dart speed, but in our quest for understanding the system, let's look at the startup current and flywheel speed of the various configurations.  Since this occurs on such a quick time frame, the x-axis is log scale. 

Clearly Ohm's law is still in effect as the LiPO and IMR systems, fully charged at over 8V, show significant increases in starting current and motor speed over the others.  NiMH, with the lowest voltage, is still able to provide similar starting currents as alkaline and LiFePO4, but the lower motor speed will show in lower dart speeds, relegating the venerable NiMH as merely a cost-saving option if you already have them available.

Time for a comparison of darts speed, which are the average of 10-shot series using Adventure Force waffle darts because, name brand, readily available, inexpensive, yada yada . . .

% difference
AA x 4
NiMH x 4
LFR x 2
IMR x 2

Clearly, for a first step in performance upgrades without rewiring or shell cutting, the Nitecore IMR batteries look like a winner.  Their 6.5A current rating is clearly within the draw requirements of the stock motors.  The stock fuse, while engaging in about half the time of AAs during a stall test, is still protecting the system, even with repeated rev cycles.  If power is applied while the motors are still spinning, the starting current is significantly lower, so a natural time buffer keeps the fuse from overheating.

In Part 2, I will try and convince you that if you are going to open your blaster to rewire, that MOSFET switching is the way to go and will provide a bigger increase in performance for a given configuration than removing your fuses.  Standby for more data.  And more talk of fuses . . .

Nerf Mod Party

At our most recent family reunion, in addition to the traditional rock painting, this year we modified Nerf blasters and then had an epic family Nerf war. 

I really like the Nerf Disruptor for this type of "modding":

  •  They are inexpensive and available both commercially and at thrift stores.
  • The shell comes apart into several pieces for painting.
  • They are very easy for children to operate.

I made a short video that shows how to reassemble a Nerf Disruptor.  If you use another type of blaster, be sure to take a picture after you open it up to aid in reassembly!

I've published more details on how to do a Nerf Mod Party at:

An Experiment in Nerf Blaster Modification Performance

I've been dabbling in modifying Nerf dart blasters recently.  The modifications fall into two categories: appearance and performance.  Nerf "blasters" themselves fall into two broad categories: manual spring powered and electronic flywheel powered.  I've been drawn to all areas of the hobby, but have spent the most of my time with performance modifications of flywheel blasters.  I've been particularly interested in using Arduino microcontrollers to monitor and control the operation of the blaster.  You can see my published projects to date:
Most performance Nerf "mods" seem to fall into two categories: 
  • Cheap Chinese kits that are poorly documented.
  • Very cool custom builds that are complex, poorly documented, and hard to replicate.
My goal, as always, is to document inexpensive and easy to build projects geared towards a successful and rewarding "first mod" experience.  In working towards that, I've gathered quite a bit of data about what modifications provide the best performance.  Starting with the most popular modding blaster, the Nerf Stryfe, I looked at the effect of flywheel speed, motor current, and dart velocity for a number of configurations.

Batteries: The stock Stryfe is powered from 4 x AA batteries for a nominal 6V.  Upgrades to lithium polymer increases voltage (7.2 V) and significantly increases current delivering capacity.  

Wiring: The increase in current from LiPo batteries require upgrading the stock wiring to at least 18 AWG, and either replacement of the microswitches to higher rating or the use of a MOSFET control circuit.  The MOSFET control circuit lends itself well to microcotroller use, and eliminates the need to upgrade the wire to all but the short section from battery to motor.

Motors: Over-volting the stock motors would certainly be frowned upon from an engineering design standpoint, but going from 6V to 7.2V is fairly minor and I have noted no increase in motor temperatures or indication of degradation.  Given the short run-times of motors during typical use, the longevity of the motors does not appear to be an issue.  Aftermarket motors are designed for higher voltages, current, and speed.

Instrumentation: Motor speed and dart velocity are measured using infra-red emitter detector pairs monitored by Arduino.  Motor current is measure using an Adafruit INA260 breakout board attached to the Arduino.  Configuration tests are run twice, once measuring motor speed and current, and once capturing dart velocities of ten shots.  Data from the Arduino is outputted over a serial console and copied into spreadsheets.

Enough babbling.  The data!

Additionally, I was interested in the operation of the stock resetabble fuse.  This fuse limits current as it heats up, and resets itself after cooling down. This is clearly shown in a graph of current verses time for a stalled stock motor:

A lot of modders remove the fuses since the increase in current draw will trip the stock fuse quickly.  I have heard of and witnessed motor burnouts caused by stalls with removed fuses.  A novice who jams a dart on a modded blaster while continuing to hold down the rev switch with cause this in short order.  I advocating protecting your after-market motors with appropriate capacity fuses.  It is worth it if for nothing other than avoiding the smell of the magic smoke that come out!

  • It is very easy to get to 100 fps using stock motors by upgrading the battery and wiring.
  • The 2S Lipo and aftermarket motors were able to achieve near the 130 fps limit set by a number of competitions.
  • Aftermarket motors significantly decrease the motor spin up time at the cost of very high starting currents.  And noise.
  • Increase in dart speed using the aftermarket motors was only realized using aftermarket flywheels.
  • The use of 14500 Lipo batteries, while controversial in the Nerf community, appear quite compatible with the stock motor currents. These have the advantage of not requiring any shell cutting.  You will note that I did not try them with the aftermarkert motors for concern about the current draw.
  • It is interesting to note that stall current and starting current of the stock motor are nearly identical.  The listed stall current of the Meishel 2.0 motors are 18.8 A, or 37.6 A for a pair, which is close to 33 A starting current observed. This should be useful in choosing fuse size.
As in most hobbies, incremental increases in performance come at exponential increases in cost and effort.  People are spending hundreds of dollars to achieve 200+ fps blasters while experiencing diminishing, even deteriorating returns on accuracy and distance.  For now I intend to stay in the shallow end of pool while concentrating on the benefits of smart, Arduino-controlled blasters, such as ammo counting, clip capacity detection, battery monitoring, and select fire.

Stay tuned for a kit.  You may have seen a sneak peek in the first photo.

What Open Source Means to Me

When I look back at starting with electronics, I would point to Adafruit and Lady Ada.  I bought her Boarduino (which is still on sale!) back in 2008, and while I was able to solder the kit together easily, I was quite confused by by the difference between Atmega168 pin numbers, and Arduino pin designations. She answered my questions quite patiently:

And here is my first project with that board:  I went on to design a model railroad, a rocket telemetry system, and most recently, a deviously difficult surface mount challenge.

The Boarduino, while I paid for a kit, was free.  It was Open Source.  Lady Ada published the schematics and even the files necessary to reproduce the PCB.

Fast forward a decade.  I can design a PCB.  I can program an Attiny.  My first published project was a programmer for microcontrollers.  I published my designs for free.  Why?  Because Lady Ada did.  That is how I learned.  That is how I hope to teach.

One of the designs I am most proud of is my Drawing Robot.  I have spent a lot of hours designing and refining the 3D files, electrical design, and the firmware. I have used it to teach several workshops.  Many people of have copied it.  Several people have improved on it.  That makes me happy:

Recently, I was excited to see a picture on Twitter, but when I commented on it, I was surprised to see it attributed to someone else:

Wait!  What?  It is being used in a classroom:  Good!  But who is Josh Burker?  Well, apparently it is someone who used my designs,  and decided to sell a kit!  For $275?

Is that legal? Ethical?  Moral?  What I have been spending all my time doing this for?

The Instructable on which is project is based is published under a Creative Commons licence, which is pretty clear:

So far, so good.  He is sharing, and adapting, but:

Oops.  While I see a link to my Instructable on his webpage, I see nothing on his website to indicate the original design isn't his.  The fact that the teacher using the project attributes it to him would further indicate this failure.   Oh, and there is the noncommercial thing.  I assume that means the $275 is a no-no.

Let's take a moment of self-reflection.  A drawing robot is not my idea.  Did I attribute it?
Here is the robot that came closest to what I wanted to do: I don't have a laser cutter and shipping from England was prohibitive. I do have a 3D printer, so I guess you can see where this is going . . .
Mirobot claims to be Open Source, and has published repositories, but it is laser cut and Wifi controlled.  Way past what I want to get into.  I didn't use their design files or code. About all I used was the "pen in the center of the wheelbase" idea.  The Turtle idea goes back even farther, to the 1960s!

So, I'm mad.  Certainly not at the teacher, who is trying to bring ideas and concepts to their classroom to the best of their ability and under a tight budget. But, someone is trying to profit off my my work.  When I point out the CC License violations, I am told to "bugger off," and that "We redesigned the electronics: they use a completely different microcontroller and programming language."

I will give him that using the Logo language takes the project one step closer to it's 1960 roots, and if that helps with the classroom curriculum, I will adapt that and attribute him.  That is how Open Source works.  However, if he thinks that switching from an Adafruit Trinket Pro to an Adafruit Metro Mini constitutes "redesigning the the electronics", I would point out that they both use the Atmel ATmega328 microchip, and are both Open Source projects, by the same author, Adafruit.  Wow, did that just circle around, or what?

So, back to the original question, what does Open Source mean to me?  I learn, I play, I share, and I may even try to sell you a kit, but if you try and profit off my work, I'll get mad.  And do a blog post.  And probably get blocked by @joshburker on Twitter.  Wait, was I following him?  No.  Didn't think so.

If you want to follow me, and be the first to see the next generation drawing robot, or what ever Open Source idea I attribute or contribute to next, you can follow me at @TheMakersBox on Twitter.