Zipit Z2 Breakout v1

It’s official, Zipit breakout boards are here. You can order yours in the shop I’ve setup. My previous posts about the design process have some info about the board’s functionality and some issues that needed fixing. This post is intended to bring all the info to one spot and explain how it functions. Any new information will be added to this post.

Update: This board is sold out and I won’t be producing anymore. I have a public project on OSH Park with a part list if you want to build your own. Thanks to all who ordered!

My explanations below assume you are looking at the board with the hirose connector away from you and the USB ports closest to you as pictured below.

5V Regulator

The Zipit cannot provide 5V for USB host unless the AC adapter is plugged in so the breakout includes a TI TPS61240 boost converter to supply 5V from the Zipit’s 3.3V supply. According to my testing, the Zipit can only supply enough current to get a max of 300-350mAH from the regulator. With wifi on and some CPU load that number decreases. Low power USB devices (like flash drives, keyboards and mice) should be okay. Only 5 components are needed for the regulator circuit: tps61240, input capacitor, output capacitor, inductor and pull down resistor. The enable pin of the regulator is connected to GPIO 54 which requires the circuit to be turned on/off through software. To enable the regulator from the command line:

echo “54” > /sys/class/gpio/export
echo “out” > /sys/class/gpio/gpio54/direction
echo “1” > /sys/class/gpio/gpio54/value


USB Power Jumper

Power Header

The power header contains two GND pins, DC_IN, 5V Regulator Output, 3.3V (Zipit provided) and 1.8V (Zipit provided) and is located on the lower right of the board.

USB Host & OTG Ports

The Zipit has USB 1.1 Host and OTG support. The breakout has a USB A Socket for host and Micro USB socket for OTG. The D+ and D- pins are connected to a set of jumpers allowing you to switch from the host or OTG port. The D- jumper is on top and D+ on bottom. Move the jumpers to the left for host and to the right for OTG.

The Micro USB port can be used to power/charge the Zipit.

The host port can be powered from the tps61240 regulator (see above) or from DC_IN. The regulator must be used if the Zipit is running on battery. If you keep the Zipit plugged in all the time then it makes more sense to use DC_IN for power as the available current will be higher than the regulator. Use the jumper provided in the center of the board to switch. There is no internal hub on the Zipit so hotplugging USB devices isn’t supported. After connecting a USB device you need to force the Zipit to recognize it by switching the USB mode. If the Zipit is already in host mode you should switch to device mode then back to host mode. If it’s in device mode then switch to host mode and it should be recognized. In slug’s openwrt-gmenu2x distro, you can do this easily with the USB Mode menu item. This can also be done from the command line:

echo “device” > /sys/devices/platform/z2-usb-switch/usb_mode
echo “host” > /sys/devices/platform/z2-usb-switch/usb_mode

Audio / I2C Header

Silk screen for the Audio/I2C header is located on the bottom of the board. The labels correspond to the pins as seen on the bottom. For example, MIC_REM is the upper left pin on the bottom and AUDIO_LOUT is the lower right pin on the bottom.

The I2C pins are connected to two 10K resistors on the top. 3.3V power and GND is provided.

Audio connections include Left out, Right out, Headphone Jack Detect, Mic in, and Common. The Mic Remote pin on the header is connected to the AER915 chip.

Microphone input requires a patched kernel. Until a compiled one is available you can make your own with my patch against anarsoul’s 3.17-wip kernel branch. In the files section at the bottom of this post are 2 kernels with the mic patch applied. To enable the mic input, open alsamixer and set “Left PGA Mux” to Line 2, “ALC Capture Function” to Left, then adjust the “Mic Boost” to your liking. You can test the mic by plugging in headphones and running “arecord -f cd | aplay” which will output mic audio directly to the headphones.

Relay Control Output

Three GPIO pins (44, 84, 86) can be used to control relays (or anything needing 5V for switching). In the lower left corner of the board you can see the relay header and the GPIO silk screen labels. The circuit is comprised of a 1K pull up resistor, a transistor (MMBT2222A) for switching and a protection diode (SM4004PL-TP). 5V to the relay output is provided by the tps61240 regulator so it must be enabled for the relay header to work (see above).

GPIO Header

Silk screen labels for the GPIO header are on the bottom of the board. The GPIO pins are max 3.3V tolerant. The header contains GPIO’s 51, 114, 81, 53, 12, 93, 94, 52 and 50. There is also a GND pin. GPIO 12 can be used as a PWM pin with kernel modifications. The 3.2 kernel in the files section at the bottom of this post has GPIO 12 assigned to pwm-backlight.2 in /sys/class/backlight.

Dock Detection

GPIO 42 is connected to ground via 10k resistor on the breakout board. This will provide a logic low value when the breakout board is connected and logic high when removed. You can export the gpio and read it’s value:

echo “42” > /sys/class/gpio/export
echo “in” > /sys/class/gpio/gpio42/direction
cat /sys/class/gpio/gpio42/value

Files

Previous posts about the design process

  1. Z2 Breakout Testing Part 2
  2. Z2 Breakout Testing
  3. Give Thanks for Zipit Breakout Boards

8 comments

  1. Hello Mozzwald,
    I may be a bit of a noob, but i've never registered in your site, and i can't login to the shop.
    How can i register in order to buy this board?
    Sorry for the bother, sir, have a nice day =)

    — Matias Paglioni Wed, 21 Jan 2015

  2. @Matias, sorry about that, I forgot to unlock the page. There is no login required to order. The shopping cart is through PayPal.

    mozzwald Wed, 21 Jan 2015

  3. Thank you Mozzwald for your work!
    Got question: would the USB host port work with a USB HUB attached to it to flash an Arduino Uno?
    I'm also planning to connect a webcam to it, but maybe it will require more current.

    Thank you!

    — daikucafe Wed, 4 Feb 2015

  4. @daikucafe, Yes, the host port works with a hub attached and hot plugging works with the hub. The arduino should be detected with the ftdi serial module. If you plan to connect multiple devices to your hub you'll probably want to use 5V from the DC_IN jack and have the Zipit plugged in instead of using the 5V regulator.

    mozzwald Wed, 4 Feb 2015

  5. Greetings Mozzwald!

    My name is Algen and I'm a moderator at EEWeb, an engineering website. We wanted reach out to you to ask if we can feature your website as the Featured Website of the Day and do an exchange of website links at the same time. Is this of interest to you?

    Hope to hear from you soon.

    Sincerely,

    Algen

    — algen Wed, 25 Feb 2015

  6. Wow, great work on the z2 breakout board! It's inspiring to see just how far people are pushing these cute little hackworthy machines.
    It makes me want to find more excuses to use my Zipit. [By the way, this post was proudly written on my z2, via the elinks browser running in the OpenWRT system.]

    — Ben in Seattle Mon, 18 May 2015

  7. Will you be doing any more runs of this board?

    — Jessi Mon, 30 May 2016

  8. @ Jessi, I won't be making anymore of this board. There isn't much of a demand considering Zipit Z2's are harder to find these days. I have pondered making a new version with just USB, 5V regulator and 2.54mm gpio headers. If I ever end up making another I probably won't make very many and it would probably be a preorder based deal. If you have the capability, you can order a board and parts and build it yourself. There was some chatter in irc #zipit about someone who was going to order some board and possibly build them for others. I updated the post with a link to the OSH Park project.

    mozzwald Tue, 31 May 2016

CAPTCHA Image

Play CAPTCHA Audio
Refresh Image

Archives By Month

Tags