R2ino

R2ino is an Arduino based partner board for the Plecter Labs Nano Biscotte v3 first installed in my Pathfinder hilt.  The setup consists of a Nano Biscotte V3, Arduino Pro Mini 3.3v, several WS2811/WS2812 LEDs and chips, a charge port with a leave-in kill key, 3.7v 18650, and aviation/CB style 8 pin connector.  The harness is an FTDI board (since the mini doesn’t have USB), another set of 8-pin connectors, and a tactile switch which mirrors the main button on the hilt.  The shunt is just an 8-pin connector wired to pass the signal to the bits that aren’t removable.

I refer to the sections as the Ignition Core, the Power/Logic Core, programming shunt, and programming harness.



Here’s a pretty decent representation of my wiring and nearly completed wiring on a breadboard, exclusive of resistors on the blade LED. There are also some resistors on the Arduino to build a voltage divider so I can measure the battery level.  There are 2 main disconnects, one between the ignition section and the logic section, and the other is an external port for serial interface to the Arduino.  At the moment serial interface allows me to adjust LED color, stability effects, and brightness, and check battery levels with my phone or computer, as well as reprogram the Arduino.  The programming is mostly (but never really) complete.

As you can see from the diagram, the Pro Mini is inter connected with the NB.  The main LED and FOC pads are wired to digital inputs and are set to operate as instant on/off.  I ended up disconnecting the sleep pad because it was causing sound issues on startup (if anyone knows how I can fix that I’d be happy to hear it!).  All of the LEDs, including the blade RGrB Cree, are controlled via the NeoPixel library.  The blade LED is controlled by a WS2811 chip and TIP42Cs, could have done it via PWM I suppose, but since everything else was going to be NeoPixels there was no reason to rewrite the book for that.

Using the 8-pin connectors I’m able to remove the Power/Logic Core with worrying about any of my connections breaking.  The shunt is only really required if I want to play with the blade or button accent color without guessing, otherwise I just plug the harness into the Power/Logic Core itself.  The harness can be plugged into anything that can provide a serial terminal.

Future development plans include making a GUI interface either via an app (probably sexier), or another Arduino with a screen (probably easier).  I have some code in the works already that uses a screen and Arduinos paired over serial, so that will probably happen first (if the app ever happens at all).

The video isn’t the greatest, but it’s done.. so without further ado:

The funny thing is on my phone screen the blue and red looked great, but the green just looked white.  After get YouTubed and watching it on the screen the blue is hard to see and green looks fine.  They all show up pretty well once the Blade Brightness is turned down. 😀

One note I didn’t make in the video is that the crystal and speaker accent (not pictured in the video) also mirror all of the effects including the batter check.  For batter check the crystal and accent will go solid green, yellow, or red depending on the level.

—  UPDATE 12/16  —
I upgraded my R2ino sketch last night to allow on the fly color changing.  Since I’m paring with a Nano Biscotte with common switch input, there are a couple challenges in that the NB will change fonts if I long press from idle or activate on a button press.  The long press features will work whether the blade is ignited or not, but the long press font change for the NB is quicker than my “extra long press” for the color change, so I don’t have to worry about changing colors when I just want to switch fonts. (I’m using Ghost of the Grey and a silent font)  If I long press from activation the NB will remain idle.  3s will show the battery check, another 3s will start cycling blade colors with a 1.5s delay until I release the extra long press.  It updates on the next button press.  I’m not sure why the update doesn’t occur immediately.  I tried a few things, but I ran out of time.  I’ll work on it after I finish some other things I have in the works.

Leave a Reply