Feed on
Posts
Comments

SquareWear 2.0 and Mini

An Open-Source Arduino-based Wearable Microcontroller



Updates


Overview

• What is SquareWear 2.0?
SquareWear 2.0 is an open-source, Arduino-based wearable microcontroller board. It is small, low-cost, and provides an all-in-one solution for wearable electronics projects. At heart it’s an Arduino running at 3.3V and 12MHz. It has large pin holes to allow conductive thread to stitch through. You can also solder wires directly, or solder snaps for quick attachment and detachment from textile. The large pins are also great for touch sensing. SqureWear 2.0 is packed with useful components. It has an on-board mini-USB port, which is used for programming, for charging batteries, and for serial communication. No external programmer or USB serial converter is required. It has a color LED, a general-purpose push-button, a buzzer, a light sensor, a temperature sensor, and three MOSFETs to drive high-current load. In addition, it has a built-in rechargeable lithium coin battery, so you can power your projects right away without external power supply. Every time you plug in the mini-USB cable, it charges the coin battery automatically. If you want a higher-capacity battery, you can also plug in an external lithium battery through the on-board battery jack. The on-board lithium charger can charge either the coin battery or external battery. It’s perfect for building wearable electronic projects as well as general-purpose microcontroller projects. It’s also a great platform for learning Arduino programming.

Unlike the standard Arduino, SquareWear does not have a separate USB-to-serial chip. Instead, it simulates USB functionality all in software, using the V-USB library. It has a USBasp bootloader, and can perform serial communication through USB. It can also simulate a mouse, a keyboard, or other human interface devices (see V-USB example projects). While software-based USB is not that fast, it really helps reduce the cost and size of the board by having one chip to carry out all the tasks. That’s why we can offer SquareWear 2.0 at a very competitive price.

IMG_2856IMG_2861IMG_2858

• What is SquareWear Mini?

SquareWear Mini is a variant of SquareWear 2.0 — it has the same set of components except it doesn’t have the built-in coin battery and color LED. It is 25% smaller than SquareWear 2.0, and it has added an extra 16KB EEPROM. Like SquareWear 2.0, the Mini is a general-purpose, wearable microcontroller board, but it’s also specially designed to plug into our new chainable color LED matrix. This enables a whole new set of applications that involve color display. We also provide a cross-platform software for interactively designing pixel patterns and even an animation!

sqrwear_mini_headerviscap2

• Technical Spec

  • ATmega328 running at 3.3V, 12MHz, pre-flashed with USBasp bootloader.
  • MCP1700 3.3V / 250mA LDO linear regulator.
  • MCP73831 Lithium charging chip and charging indicator LED.
  • MCP9700 temperature sensor; 10K LDR (light sensor).
  • 8.5mm SMT buzzer; 6mm SMT tactile button.
  • 2.0mm JST connector for external lithium battery.
  • 2N7002 MOSFETs, SMT mini-USB port, and power switch.
  • 5mm color (RGB) LED (not available on Mini).
  • LIR2032 (20mm) rechargeable lithium coin battery (45mAh capacity) (not available on Mini).
  • 24LC128 I2C EEPROM (available ONLY on Mini).

• How is SquareWear different from LilyPad Arduino USB and Adafruit’s Flora?
LilyPad Arduino USB and Adafruit’s Flora are two popular wearable electronics board based on the Arduino too. Here is a summary of the main differences:

sqrwear2_comparison

Buy SqureWear 2.0 from Rayshobby Shop.


(SqureWear 1.1 homepage is archived here.)

12 Responses to “SquareWear Homepage”

  1. Jake says:

    Awesome, saw the link off of Hack a Day.
    Great use of the PIC. Love the fact that it has the USB support built into the chip.
    I’ll have to think about the USB / bootloader option for my next project.

  2. Sean says:

    Hi there, just seen the video off youtube, very interested and think you’re going to sell lots of these little hotcakes. Going to order one myself. Just wondering where you sourced the LED Matrix to go with it (the one in the video)??

    Brilliant!

    • ray says:

      We manufacture the LED matrix locally. It uses WS2812B integrated color LEDs. Adafruit.com provides a lot of information about this LED, and they market it as the NeoPixel.

  3. jeff says:

    Where is the freaking windows 7 driver!?

  4. Ozzie says:

    I am having troubles using RCSwitch with the SquareWear libraries. It looks like the usbdriver is utilizing the Interrupt Vector 0 and compilation fails for multiple definitions. How would you resolve this issue?

    core.a(WInterrupts.c.o): In function __vector_1':
    /Applications/Arduino sqwr 2.0.app/Contents/Resources/Java/hardware/arduino/cores/arduino/WInterrupts.c:309: multiple definition of
    __vector_1′
    SquareWear2/usbdrvasm.S.o:(.text+0×32): first defined here

    • ray says:

      Good question. This is because the HIDSerial library is already using INT0, so there is a conflict. Here is the workaround:
      1. You should use RCSwitch library with INT1 (pin D3) (i.e. enableReceive(1);) because INT0 is already occupied.
      2. If you don’t need HIDSerial, do not include HIDSerial.h, and it should compile.
      3. If you do need HIDSerial, go to your Arduino folder, find the following file:
      arduino-1.0.5/hardware/arduino/cores/arduino/WInterrupts.c
      then comment out all ISR(INT0_vect) functions, for example:
      /*ISR(INT0_vect) {
      if(intFunc[EXTERNAL_INT_2])
      intFunc[EXTERNAL_INT_2]();
      }*/
      This should allow the program to compile. I just recently did a similar experiment and I am pretty sure it works.

      • ray says:

        I completely forgot to mention that because pin D3 is internally wired to a MOSFET, you need to solder a wire from the Gate pin of the MOSFET and connect that to your RF receiver’s data pin. You can’t directly use the D3 pin pad because of the MOSFET in between.

        • Ozzie says:

          Thanks Ray!

          I am just transmitting for now, so I switched over to using VirtualWire library. It works like a charm! I will take your suggestion here if I ever have to receive RF.

          I have added some wonderful sleep code to increase the battery life as well.

          I have a follow-up question, though, is there a way from me to power-up/down the MCP9700, LDR, etc. just before I put the chip to sleep? If I can, it will avoid me from going out and buying stuff to put together for an ultra-low power room monitor. Thoughts?

          • ray says:

            That’s a good question. I took a look at MCP9700 datasheet, and it looks like the chip is quite efficient already, with only 6uA operating current:
            “The MCP9700/9700A and MCP9701/9701A family of low operating current of 6 μA (typical) makes it ideal for battery-powered applications.”
            The LDR is more of a problem, because the photoresistor is a 10K type, connected to a 10K resistor in series. So under normal lighting conditions, the total resistance would be somewhere around 20K, and that incurs 3.3 / 20K = 165uA current. Ideally if you want to be able to turn it on / off you need to power it from a microcontroller pin. To do so you need to desolder the photoresistor and change the pin that’s currently tied to VCC to an IO pin.

  5. steve edwards says:

    Great platform for April Fools.

    I wrote a sketch that ‘delays’ for 3 hours (to give you a chance to hide the Square and for the victim to fall asleep) and then runs 2 tasks:

    1) Every x seconds, beep y tones, of z frequency where x, y, and z are random()ized.

    2) Every hour blast out 30 random frequency tones to make sure the victim is awake.

    Also, before each tone is played, I check to see if the light sensor is less than 2 so if the victim turns on the lights to look for it, it stops ‘beeping.’

    I hid 3 in my son’s room. He didn’t think it was so funny :)

Leave a Reply