The [KC01] robot is a [robot prototype] in the "mini" weight class. 

[{TableOfContents}]

!! Description

__KC01__ ("Kaycee Oh-One") is a [mini robot|MiniRobot] that without batteries weighs only 163 grams. It's currently an unfinished design and has no sensors, but it has ''plenty of possibilities'' in this regard. See below.

It uses the __Circuit Playground Express__ microcontroller, which is very suitable for people who've never built a robot before, or used a microcontroller. The Circuit Playground board is very useful for non-robot applications as well.

It's highly recommended that you read the [AdaFruit Crickit|https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit] and the [Circuit Playground Express|https://learn.adafruit.com/adafruit-circuit-playground-express] guides so you can better understand their features, and how the Circuit Playground Express can be programmed.


!! Requirements

[{Image src='attach/KC01/crickit-circuit-playground-thumb.jpg' link='attach/KC01/crickit-circuit-playground.jpg' caption='Crickit for Circuit Playground' align='right' class='imgFloatRight'}]

Here are the requirements for the robot: 

* around NZ$150 if possible as a base price
* small and lightweight so that it can be run using a pair of micro gear motors
* to use the Circuit Playground Express and Crickit 
* to use a 5 volt USB battery (commonly available)
* relatively easy to start
* provide an expandable base for further experimentation


The combination of the Circuit Playground Express and the Crickit board for it provides:

* a microcontroller than can be programmed in [CircuitPython] (a subset of [Python])
* two motor controllers
* four servo controllers
* four channels of 5 volt drivers
* a ring of programmable RGB LEDs on the CircuitPlayground
* a NeoPixel driver (for control of strings of coloured LEDs)
* a small speaker with a 3 watt audio amplifier (!)
* four capacitive touch sensors
* 8 channels of digital I/O or analog inputs
* safety features: the Crickit has kick-back diode protection on the motors and its power supply has an 'eFuse' management chip that turns everything off if the supply power is greater than 5.5V or less than 3V.

!! Upgrades

[{Image src='attach/KC01/kc01-plate-thumb.jpg' link='attach/KC01/kc01-plate' caption='3mm Delrin platform with motors mounted' align='right' class='imgFloatRight'}]

If you want to use odometry, you can __upgrade__ by buying the motor encoders and the motors ''without'' the Push Header Shim (which is incompatible with the motor encoders as they both solder to the same place). You'll want the extended back shaft version.

* [Magnetic Encoder Pair Kit for Micro Metal Gearmotors, 12 CPR, 2.7-18V (HPCB compatible)
|https://shop.pimoroni.com/products/magnetic-encoder-pair-kit-for-micro-metal-gearmotors-12-cpr-2-7-18v-hpcb-compatible]
* [Micro Metal Gearmotor (Extended back shaft) – 298:1
|https://shop.pimoroni.com/products/micro-metal-gearmotor-extended-back-shaft?variant=3073681089]

There are a variety of gear ratios available: 11:1, 20:1, 50:1, 298:1 and 1006:1. This will effect both the upper speed of the motor and its torque (power). I chose the 298:1 because I want my robot to be a bit slower and stronger. The 50:1 might work but if you have to reduce the power sent to the motor in order to get it to drive slow enough, it won't have much torque. The choice of gear ratio is always a __compromise__.

Other upgrades include adding sensors and IO devices to any of the above-listed connections on the Crickit board.

!! Bill of Materials

Below is the Bill of Materials, with an estimated cost of __NZ$147__. This doesn't include miscellaneous
parts, wire, connectors, etc., or __shipping costs and import duties__ (which can be significant). 

|| Count || Item || Each || Total Price* || Vendor
| 1x | [Circuit Playground Express|https://www.adafruit.com/product/3333]    | US$25 | NZ$37 | AdaFruit
| 1x | [Crickit for Circuit Playground|https://www.adafruit.com/product/3093] | US$30 | NZ$45 | AdaFruit
| 2x | [Micro Metal Gearmotor with Push Header Shim – 298:1|https://shop.pimoroni.com/products/micro-metal-gearmotor-with-motor-shim?variant=24169921671] | £6 | NZ$23.40 | Pimoroni (from Pololu)
| 1x | [Micro Metal Gearmotor Bracket (Pair)|https://shop.pimoroni.com/products/pimoroni-gearmotor-bracket-pair] (to connect to chassis) | £3.90 | NZ$7.60 | Pimoroni
| 1x | 90mm x 90mm chassis plate (2-4mm thick wood or plastic: nylon, polycarbonate, Delrin or ) | NA | NZ$5 | Macplas or Cactus Plastics
| 1x | USB battery | NA | NZ$25 (est) | anywhere
| 1x | [1/2 inch – Pololu Ball Caster|https://shop.pimoroni.com/products/pololu-ball-caster-with-3-4-metal-ball?variant=415237741] | £2.10 | NZ$4.10 | Pimoroni
|| Total | | | __NZ$147__
%%small
''* total price shown is total in New Zealand dollars for row''
%%

Pimoroni has the option of using the UK Post, which is relatively cheap, whereas AdaFruit's shipping is more expensive (even if their prices are in US dollars and tend to be lower).

!! Notes, Known Questions and/or Issues

* Circuit Playground requires __exactly__ a 5 volt supply (so AA/AAA batteries are not suitable)
* what will we use for the free-wheeling __caster__? It needs to be between 20-25mm total height
* this robot is pretty small and likely __cannot handle transitions between carpet and floor__, i.e., requires a smooth operating surface
* The battery is meant to be held between the Crickit and the platform. This means __you'll need longer standoffs__, long enough to provide clearance ford the battery. I only had some 10mm ones handy, and my USB battery is 21mm thick (and the solder pins protrude about 1mm from the bottom of the Crickit's circuit board) so I couldn't mount my battery. Depending on the size of your battery you'll need probably some 25mm standoffs, or make some out of long 2.5mm bolts and some copper or aluminium tubing (which you can get at a hobby store or Pete's Emporium)
* depending on your battery choice, this robot may have __relatively limited battery life__ (is this really an issue?)

----

[{Tag RobotPrototype}]