“QUARK” – First Views

“QUARK” – Overview and Description

(Click any image to enlarge)

Now updated to include V0.2


Version 0.2 “Button”, “Blinkies” and underside of “Proto”


v0.1 Top side


v0.1 under side


  • Processor: ATMega328P-AU
  • Clock Speed 16MHz
  • Fully compatible with Arduino Uno
  • USB Interface: CH340G
  • Battery: Rechargeable Lithium Ion LIR2032 (3.6V nominal)
  • Diameter: 28mm (v0.1 was 27.25mm)
  • Weight: 2.9g without battery (5.5g with battery)
  • On-board Charger, with charge indication LEDs
  • On-Off Switch
  • D13 LED (Blue)
  • 4 Digital I/O Pins (Arduino Uno pins D2, D3, D4, D5)
  • 4 Analog I/O Pins (Arduino Uno pins A0, A1, A4, A5)
  • I2C pins (Shared with pins A4 and A5)


Changes between v0.1 and v0.2

The only real change is the header strips which are now both 6-pin straight headers instead of one 5-pin and one 7-pin curved. This allows us to actually fit headers and I have fitted 6-pin low-profile female headers

I’ve blocked off one pin to act as a polarising location, so plugin boards will only fit one way – having cut off the matching pin on the plugin’s male header. (Note. this polarising scheme will change in the next revision and existing plugins will not be compatible)

We’ve also shipped these with 2 additional plugins:

  • Blinkies – a set of WS2812B-compatible smart pixels (aka neopixels). These are connected to pin D4 on the “Arduino” and can be driven using the FastLed library
  • Proto – a simple prototype board allowing you to add sensors: digital, analog or I2C of your choice
    • 56 holes arranged in 7 rows of 8
    • The middle 4 pins of top row are connected to A5, A4, A1, A0 respectively (note that A4 and A5 are the default I2C pins SDA and SCL)
    • The middle 4 pins of the bottom row are connected to D5, D4, D3, D2
    • Additional 5 Ground pins on the left
    • Additional 5 Vcc pins on the right


Getting Started

  • You will need the Arduino IDE – download from the Arduino website
  • You may also need drivers for the CH340 USB interface. These are included with Windows 10, but also available online (just Google for your OS and CH341 or CH340)
  • You’ll also need a Micro USB lead
  • Set up the IDE with the correct COM Port, and use board type Arduino/Genuino UNO
  • The boards have been shipped running the Example Blink sketch and so will blink the Blue LED on and off every second



  • The built-in LIR2032 battery will last around an hour or so, depending what it is doing (based on the same circuit running on the 4tronix SmartBadge which lasts 45 minutes when powering neopixels)
  • It will take about 30 to 40 minutes to charge if switched off
  • The Red LED indicates charging and faster charging will occur if the unit is switched off during the charging
  • The charge is complete, the Green LED is lit and the charging circuit shuts down
  • Whenever the USB lead is plugged in, it will charge, but this is only really effective when the Quark is switched off


Know Your “Quark”


v0.2 Pinout


V0.1 Pinout



  • There is a project on my system named Quark, which has several designs in a partially complete stage. This is just the first one onto a PCB.
  • Intel already have a product range Quark, so we won’t be using this name when/if the product gets released.
  • Please let me know of any name ideas you think may fly


Gecko – The Friendly Flashy Codable Wearable Computer

Gecko: Have flashy, blinky fun while coding!

The new wearable, codable computer that is fully compatible with the Arduino UNO programming environment

Purchase from our shop here

Learn how to:

  • Flash LEDs
  • Change to all the colours of the rainbow (and more)
  • Listen for button presses and react how you want


What is Gecko?

  • Arduino UNO compatible processor
  • USB interface for power and programming
  • 12 independently programmable RGB LEDs (exactly the same to program as the popular neopixels)
  • 2 separate buttons for use in your programs
  • Delivered with demo sequences already prepared for your delectation and delight!


How do I Program it?

  1. First you will need to install the drivers for the Gecko (it uses a chip called CH340G). Windows7 and above (and Ubuntu 15+) will automatically install this driver but it will take a few minutes. Plug in the Gecko and wait for Windows to install it and let you know it is done
  2. Install the Arduino IDE from here
  3. Fire up the Arduino IDE and:
    1. Go to the menu Sketch/Include Library/Manage Libraries../
    2. Search for Fastled
    3. Click on the box and select Install
  4. Copy the simple LEDtest demo from here to your Arduino sketches folder and start editing it to do what you want


Here’s the simplest, but complete program to light an LED:

First we need to include the FastLED library that we installed:

#include “FastLED.h”

The we need must setup the data structure to store the individual LED values in. The line below creates an “array” of 12 elements, each of which has Red, Green and Blue numbers to define the separate brightness levels of each component of the pixel. Each value can be from 0 (completely OFF) to 255 (fully ON).

CRGB leds[12];

Arduino has 2 main functions that we need to use. The first is setup( ) which is run once at the start of the program. We set up all our initial values and things here.

The next line initialises the FastLED library to us WS2812B type LEDs connected to Arduino digital pin 13 and there are 12 LEDs in use. In the example programs the numbers 13 and 12 have been replaced by “constants” so that we can use them again and again without having to keep typing 12 for instance.

FastLED.addLeds<WS2812B,  13,  RGB>(leds, 12);

After running the setup( ) function, the Arduino runs the loop( ) function repeatedly. This is where you do all the programming to make the LEDs blink on and off, or chase each other, etc. Let’s simply blink LED 6 on with blue=100 and off . Notice below that after we have changed the array to turn LED6 on (or off), we call the FastLED function show( ) . This takes the data from the array and sends it to the LEDs.

leds [6] = CRGB (0, 0, 100);

FastLED.show( );

delay (1000);

leds [6] = 0;

FastLED.show( );

delay (1000);

That’s all we need for this simple test. Let’s see what it looks like in the IDE


Now we can press the Compile and download button in the Arduino IDE – shown in orange in the screenshot above.

If all goes well, the Gecko will start flashing LED6.

Another very useful FastLED function is setBrightness( ). You can use this to change the overall brightness level of the whole display. If you don’t use this function and set an LED to 255, 255, 255 (that is, bright White) then it will be extremely bright and potentially damaging to the eyes if you stare closely at it. If you call setBrightness(40), then setting an LED to 255, 255, 255 will actually only set it to 40, 40, 40. This is stil White and quite bright, but is less damaging and will use a lot less power – important if you are using a USB battery pack.


Using the Buttons

  • The buttons are on Analog pins:
    • A2 (Button A)
    • A1 (Button B)
  • In the setup( ) function you should enable the internal pullup resistors, otherwise they will always read LOW
  • When the button is pressed, you will receive a LOW from digitalRead(BUTTONA); otherwise a HIGH


Example Sketches:





SmartBadge – Flashing Pixels and Games for Geek Events

Designed in conjunction with Amy Mather @MiniGirlGeek

SmartBadge is a wearable that you can program to display patterns or  messages, play games or just to blind anyone who comes too close

19 super-bright, full-colour individually addressable RGB neopixels arranged in hexagonal rings allow you to make fantastic dynamic patterns and exciting games

4 mini buttons give you control over menus, or game functions. You code, you decide!

Powered from a rechargeable lithium coin cell which lasts 45 minutes on a single charge whilst displaying patterns continuously.

Fast, simple and exciting way to start working with wearable computing



  • 19 RGB neopixels
  • 4 buttons
  • Arduino IDE compatible
  • Rechargeable coin cell
  • Power & activity LEDs
  • On-off switch
  • Fully soldered


Pre-Installed Demo Program

SW1 acts as the menu button. After a 5,4,3,2,1,0 countdown it shows a single purple LED. Pressing SW1 cycles through 1,2,3,4,5,6 LEDs lit. It times out after 5 seconds without a button press and runs the selected demo as below. You can press SW4 if you don’t want to wait the 5 seconds.

Press SW1 at any point to return to the menu

Individual Demos

  1. This is the default demo and just shows lots of pretty patterns
  2. Capture Pixels game. You have to press SW4 when the white LED is on to capture it. When you complete the level it starts again, but you get less time to do it
  3. Death Ray. Ray gun effect with super bright finale
  4. Bug Chase. My brother and I wrote this game at the end of the 70s/early 80s (ancient history). It sort of pre-dates pacman. You (Blue) have to visit every pixel to collect them, whilst being chased by a bug (Red). SW4 and SW3 move you around the hexagonal ring. SW2 moves you inwards. Collected pixels show green on the first level and subsequent levels get faster. On our original game we introduced a second bug on level 3, but I haven’t done that. This game is very hard!

Example software and neopixel library available from the 4tronix SmartBadge GitHub