Crickit Tour

Although the Crickit HAT for Raspberry Pi is not octagonal like other Crickets, the HAT still has the same features that are listed below, just rearranged to fit the rectangular HAT shape.

Power Input

Your project start here, where power comes into the Crickit and is then used to control various motors and parts. We cover the various ways you can power your Crickit in the next section, since there's a lot of flexibility depending on the budget, portability and complexity of your project.

For now, assume you will plug in a 5V wall adapter to the 2.1mm DC jack. This DC jack is the only way to provide power to Crickit. There's a USB jack (covered at the bottom of this section) but you cannot power the Crickit that way (the USB jack is only for debugging seesaw!)

Use 5V DC (4V to 5.5VDC range works) with positive-center voltage. If you try to plug in a negative-center power supply, the polarity-protection will kick in and you will not see any lights on the Crickit.

The Crickit uses a power management chip to keep you from accidentally powering it from 9V or 12V, damaging your electronics. Look for the OK and /!\ warning LEDs. If you see the green OK LED, the power is fine! If you see the red warning LED, the voltage is too low, too high, or too much current is being used.

You can turn off the Crickit at any time with the On/Off switch. This will turn off the 5V power, completely disabling all motors, as well as turning off the seesaw control chip.

There's also a Reset button. This button will reset the seesaw chip, and can be used to load new seesaw firmware (you won't likely have to do that). On the Feather Crickit, this button also connects to the Feather reset pin. On the Circuit Playground Crickit, it does not connect to the Playground Reset button.

On the Feather Crickit only, if you double-click the Feather reset button to load new firmware, such as a new version of CircuitPython, the Crickit will also go into double-click firmware-update mode. After you load the new firmware on the Feather, wait for the firmware to start up, and then click the reset button again, once, to get the Crickit back into regular operation mode.

Power options to consider:

4 x Hobby Servos

Hobby servos are really popular in robotics because they're fairly low cost, very easy to use, and reliable. 

The Crickit gives you 4 slots for 4 independent servos. You can use micro, mini, standard, large size servos. Analog and digital work great. Continuous or 180-degree are OK. As long as you've got a servo with a 3-pin connector, you're golden.

Servo notes:

  • The white/yellow 'signal' wire goes next to the # marking on each port.
  • Each servo is controlled by a 16-bit hardware timer at 50 Hz so you will not see any jitter. The signal line is 3.3V logic
  • The power to each servo comes from the DC power supply, 5VDC nominal.
  • The Crickit can set the pulse width to any value, but in general you'll want to stick to 500ms to 2500ms wide pulses. This is customized in the Arduino, CircuitPython or MakeCode software.
  • There is variation from servo to servo, so getting the exact same speed or angle may require some calibration and tweaking. Again, this can be customized in the driver code, the Crickit just generates whatever pulses you like!

The seesaw chip on the Crickit does all the management of these pins so your Feather or CPX does not directly control them, it must send a message to Crickit. They are on seesaw pins 17, 16, 15, 14 in that order.

2 x DC Motors

Round & round, DC motors are great whenever you need something to spin. They tend to be faster, stronger and less expensive than continuous-rotation servos, but you need a proper DC motor driver to use them. Luckily, the Crickit can drive two DC motors.

You get 2 independently-controllable brushed DC motor drives. Each motor can go forwards or backwards, with 8-bit speed control. There's a 5-pin terminal block to connect motors, 2 pins for each motor and a middle ground pin. (The ground pin is for some advanced techniques)

The power to the motors comes from the DC jack, about 5VDC so you can control 3V-6VDC motors, which are very common. The motors can be bare motors or with a gear-box attached

You won't be able to control 1.5V DC motors, they'll burn out. You might be able to control 6-9VDC motors, but they'll be a little slow. Same with 12VDC motors. Likewise, you cannot use the Crickit with brush-less (ESC) motors. Those require a more advanced motor driver!

  • Each motor has two wires, you can connect the wires either way. If the spin of the motor is opposite what you want, swap the wires.
  • Each motor drive has a 1 Amp peak output. After that, the over-current protection will kick in
  • We don't recommend paralleling the output to get twice the current because the seesaw chip cannot guarantee that both will turn on/off at the same time
  • Instead of 2 DC motors, you could also control a single bi-polar stepper motor (5VDC power) or single uni-polar stepper motor. You'll use the ground pin for the 5th (and 6th, if it exists) wire of the uni-polar stepper.
  • Uses the DRV8833 dual H-Bridge motor driver chip

The seesaw chip on the Crickit does all the management of these pins so your Feather or CPX does not directly control them, it must send a message to Crickit. They are on seesaw pins 22 + 23 (motor 1) and 19 + 18 (motor 2)

Typical Adafruit Motors to consider:

4 x High Power Drivers

In addition to servos and DC motors, you may find you want to drive other high-power electronics like relays, solenoids, powerful LEDs, vibration motors, etc. Some of these devices are motor-like and need a kick-back protection diode, so having a proper driver is important to avoid damage!

 

This is where you will want to use the high power Drive terminal block. You get four high current drivers. Each driver is a 'Darlington' transistor that, when turned on, connects the output pin to ground.

That's a little different than most other outputs on the Crickit: The Crickit can only connect/disconnect the drive pins to Ground! You cannot 'set' the Drive output to be a high voltage. So, if you're driving a solenoid, relay, vibration motor, etc. connect one side to the 5V pin, and the other side to one of the driver pins. You can connect multiple wires to the 5V pin if necessary.

Drive details:

  • 500mA current limit per output, you can double/triple/quadruple pins up to get more current, if you like. Just make sure to tell the Crickit to turn on/off all four pins in a row.
  • Kick-back protection diodes for each output to 5V power.
  • Uses a ULN2003 Darlington driver
  • Instead of 4 solenoids/relays you can connect & control a single uni-polar stepper motor, connect the 5th (and 6th if it exists) wire to 5V. Won't work with bi-polar steppers, use the DC motor ports for that.
  • The drive outputs are also PWM-able, so you can control LED brightness or motor power. If using with solenoids or relays, set the duty cycle to 0% or 100% only.
  • Advanced usage: If you want to drive higher-voltage non-inductive/motor devices, like 12V LEDs, you can power the positive line of the LEDs from 12V, then connect the negative line of the LEDs to drive pins. Make sure your 12V power supply ground is connected to the Crickit ground. Not recommended unless you feel confident you won't accidentally put 12VDC into the Crickit! Kick-back diode wont work in this case so not for use with motors/coils/solenoids...

The seesaw chip on the Crickit does all the management of these pins so your Feather or CPX does not directly control them, it must send a message to Crickit. They are on seesaw pins 13, 12, 43, 42 in that order.

8 x Signal I/O

Sure you can drive servos and motors but sometimes you just want to blink an LED or read a button. The Crickit has an eight-signal port. You can use these as "general purpose" input/output pins. We solder a 3x8 female socket header in so you can plug wires in very easily. Each signal has matching 3V and Ground power pins.

  • All pins are 3.3V logic level
  • All pins can read analog inputs (potentiometers, bend sensors, etc) at 12-bit resolution
  • All pins can be set to outputs with high (3.3V) or low (0V) voltage
  • All pins can drive about 7mA when set to outputs
  • All pins can have an internal ~50Kohm pull-up resistor set when used as an input
  • Bonus: If you absolutely need more capacitive touch pins, Signal #1, #2, #3, #4 are four more capacitive touch inputs.

Signal pin #1 is special and can be set to be a true analog 'output' with 10-bit precision.

The seesaw chip on the Crickit does all the management of these pins so your Feather or CPX does not directly control them, it must send a message to Crickit. They are on seesaw pins 2, 3, 40, 41, 11, 10, 9, 8 in that order

The Signal pins do not have configurable pull up or pull down resistors like on many microcontrollers. Please add external resistors to Vcc or Ground to read things such as buttons where a resistor is needed.

4 x Capacitive Touch

Capacitive touch sensing allows you to add human-triggered control to your robot. When you touch the pad (either directly or through an alligator clip, copper tape or conductive ink) the Crickit can detect that signal. We give you four capacitive touch inputs with alligator/croc clip compatible PCB pads.

  • Capacitive touch works best with highly-conductive materials like metal
  • But you can have the metal also connect to salty-wet items such as fruit or water. However, do not try to dunk the Crickit into water or squish a grape into the pads - use an alligator clip!
  • Bonus: if you absolutely need more signal I/O pins, all four capacitive touch pads can also act as analog/digital signal I/O pins!

The seesaw chip on the Crickit does all the management of these pins so your Feather, micro:bit or CPX does not directly control them, it must send a message to Crickit. They are on seesaw pins 4, 5, 6, 7 in order.

NeoPixel Drive

Blinky lights will make your robot fun and fashionable. And we've made it really easy to add NeoPixels (WS2812/WS2811/SK6812 chipsets) to your project. The Crickit has a 3-terminal block connector with Ground, Signal and 5V power. The signal line has a level shifter on it so it will be 5V logic level, for nice clean signals.

This output is slightly different depending on what kind of Crickit you have

  • If you have a Feather Crickit then the NeoPixels are driven by the seesaw chip on the Crickit, and you must send seesaw commands to set colors. But that means no extra pins are needed from your Feather.
  • If you have a Circuit Playground Crickit then the NeoPixels are driven by the Circuit Playground A1 pad by default. This way you can use the MakeCode emulator and built in Circuit Playground CircuitPython library. However, if you want, you can cut the jumper underneath the Crickit and solder closed the ss pad so that the seesaw chip controls the NeoPixels (for advanced hackers only).
  • If you have a micro:bit Crickit, NeoPixels are driven by Pin 16. You can use the NeoPixel Extension in MakeCode, specify Pin 16 as the pin the NeoPixels are connected to and you're set. However, if you want, you can cut the jumper underneath the Crickit and solder closed the ss pad so that the seesaw chip controls the NeoPixels (for advanced hackers only).

If you choose to have the NeoPixel driven from the seesaw, note it is on seesaw pin #20

Adafruit sells a very wide variety of NeoPixel products - shop here in the Adafruit Store!

Speaker Drive

Audio animatronics? Yes! Your Crickit can make fairly loud sounds thanks to the built in Class-D speaker driver. This will let you amplify audio. However please note that the Crickit does not in-itself make audio. The audio must come from the controlling board, such as the Feather or Circuit Playground.

At this time, we recommend using the speaker with CircuitPython. MakeCode and Arduino can make tones but don't have easy to use features such as WAV file support.

  • Class D audio amplifier
  • Can drive 4Ω to 8Ω speaker. Up to 3W with 4Ω and up to 1W with 8Ω
  • There's a small potentiometer you can use to adjust the audio volume. By default we set it to the halfway point. Please be gentle if adjusting, don't try to crank it past the two stop-points.
  • Ouput is 5VDC BTL (bridge-tied-load) so do not connect to a stereo system or other line-input!
  • On the Circuit Playground Crickit the speaker is connected directly to the A0 pad (the analog output).
  • On the Feather Crickit the speaker input is marked Audio on the PCB and you can solder a jumper to the Feather A0 pin if desired.
  • On the micro:bit Crickit, the speaker is connected to Pin 0, the standard micro:bit audio output pin.

Speakers to consider:

Connecting Your Microcontroller to your Crickit Board

If you have a Circuit Playground Crickit, you can attach the Playground in the middle using 6 standoff bolts that come with the kit. Make sure you tighten these as loose bolts can cause connection issues.

There's six connections to make

  • Ground - signal and power ground between Crickit and Playground
  • SDA and SCL - the I2C data connection used to send/receive data from the Crickit
  • A1 - Used for the NeoPixel output default
  • A0 - Used for the speaker output
  • VOUT - This bolt lets you safely power the Circuit Playground from the Crickit so you don't need to separately power the Playground with batteries

If you have a Feather, you can plug it right into the center of the Crickit.

Despite all the sockets, you only will be using 4 connections total:

  • Ground - signal and power ground between Crickit and Feather
  • SDA and SCL - the I2C data connection used to send/receive data from the Crickit
  • 3.3V - This connection lets you power the Feather from the Crickit so you don't need to separately power the Feather with batteries or USB. Note it will only power the 3.3V line, not VUSB or VBAT

There's an optional AUDIO jumper if you want to connect the A0 Feather line to the Speaker.

The micro:bit Crickit is the easiest of them all! Just plug in your micro:bit with the LED grid facing towards the pin numbers as shown on the Crickit silkscreen.

 

You'll also see that Pin 0 is marked for speaker use and Pin 16 for NeoPixels (sun icon).

The Crickit HAT for Raspberry Pi uses the standard Pi 40 pin header (at top in the picture at left) to plug onto the Pi expansion header. 

 

The holes in the Crickit HAT align with the holes in the Pi so you can use standoff posts for a secure fit.

 

All of the functional blocks on the octagonal Crickit boards are on the Crickit HAT, they are just moved to fit the rectangular HAT shape.

seesaw USB Debug and Indicators

The seesaw chipset is the programmed ATSAMD21 processor in the south section of the board. It comes with its own parts too

Across from the power input is the seesaw debug USB connection. This USB power cannot power the Crickit and it also does not connect to the Feather or Circuit Playground USB.

It's only for debugging/reloading seesaw firmware. Basically, if we add more Crickit capabilities, you could load new firmware over this USB connection. In general, you won't be using this port, you may want to cover it with some masking tape!

To the right is a yellow Activity LED, which will flash when seesaw sends/receives commands from your Circuit Playground or Feather. To the left is a seesaw NeoPixel. You can control this NeoPixel if you like, to give you status information, as an advanced usage

The internal NeoPixel is on seesaw pin #27

This guide was first published on May 16, 2018. It was last updated on May 16, 2018. This page (Crickit Tour) was last updated on Oct 18, 2019.