Close
0%
0%

"Lixie", an LED alternative to the Nixie Tube

Always jealous of people who could afford big Nixie Tubes, I rolled my own alternative with WS2812Bs and laser cutting!

Similar projects worth following
I've always been a fan of the Nixie Tube. Beautiful typography, endearing glow, and very clever technology. But when commercial production stopped in the 1990s, prices for surplus Nixie Tubes began to rise. Smaller tubes like the IN-16 are still only about $3.50/piece, but bigger and more desirable tubes like the IN-18 can run up to $45/piece. If you wanted to make a 6-digit clock, it can cost up to $270 just for the tubes! And they're potentially dangerous. And they might "burn out" next week. And they need special switching circuitry. And they're old news.

So let's modernize the Nixie Tube!

Join the waiting list for Lixies! You'll get an email in early January as soon as they're available! :)
https://www.tindie.com/products/connornishijima/lixie-an-led-alternative-to-the-nixie-tube/

Edge-lighting panes of acrylic etched with a design has been done for decades, but they've always been static information like an "EXIT" sign. If you stack multiple panes of acrylic (each with a unique design) and light them individually, you can change what design the user sees!

This makes edge-lighting perfect for a numeric display! And since I love the look of Nixies, we'll emulate the typography as well. At the end of the day, what I've made is a beautiful over-sized numeric display using WS2812Bs and a laser cut digit assembly!

We'll call it a "Lixie".

The Lixie has extremely simple setup, just connect the 5V, GND, and DIN pads to an Arduino and use the Lixie library to write a digit to the display! That's it! No HV switching, PCB footprint, or worries!

Since the Lixie is just wired like a WS2812B strip, you can connect the DOUT pin of one to the next and show a number as long you'd like!

Here is a video demonstrating the result:

  • 20 × WS2812B Smart RGB LED with daisy-chained control built in!
  • 1 × 1000uF Capacitor
  • 1 × Birch Veneer Core (Ponoko)
  • 1 × Black Acrylic (Ponoko)
  • 1 × Clear Acrylic (Ponoko)
  • 4 × M2.5 Nut and Bolt

  • Holy Crap

    Connor Nishijima02/04/2017 at 19:08 0 comments

    The desire for a Lixie has far surpassed my expectations, and because of this, I've hired help for assembly and fulfillment! But first, here is a collection of production images and a video update - more after the break:



    Welcome back!

    As you can see, Lixie's are being built at a nice pace, and will start shipping soon! Originally we were shooting for Late January, but with the insane amount of customers on the waiting list, we won't be selling them until about mid-February. Here's what's happening:
    • Tindie won't confirm nor deny it - but the Lixie might be the fastest growing product in their history so far.
    • Ponoko is also happy with the volume I'm ordering for laser cuts, and has awesome bulk pricing.
    • Alex Morgia of MonthlyBoxer has kindly agreed to offer shipping fulfillment for the Lixie!

    The best news is our ability to use a fulfillment company for shipments now and in the future. I just send a big boxes of 60 Lixies to Alex beforehand, and his company will handle the timely fulfillment of all your orders on launch!

    "Tixie" is the best clock you can make with these!

    Next up for this update is "Tixie", an awesome firmware/app combo I'm developing for all the users that are buying these for use as a clock. It has a smart WiFi config utility, and a WebSockets connection for control from the Tixie app. You can set colors, timers, and many more features that haven't been added to the UI yet. It's being developed with Apache Cordova for release on both Android and iOS this Spring. The firmware and app will be open sourced soon as an example included in the Lixie library.

    A view of Android:

    Tixie for Android

    And of iOS:

    Tixie for iOS

    Thank you all again for your patience, and for the awesome support so far! I'd especially like to thank David Madison again, for his awesome contributions to the Lixie code and publications.

    - Connor Nishijima

  • Here is the final "Lixie"!

    Connor Nishijima01/11/2017 at 20:17 0 comments

    A few big things have happened, and the Lixie is better than ever!

    On the left is the original Lixie you all know. On the right is the final model, with two major changes:

    • The numbers are outlines, instead of a stroke. This essentially doubles the light catching area without hurting the final cost.
    • They are now engraved, instead of cut.

    Originally, I doubted the brightness of engraved vs. cut acrylic, and completely cut each digit through. Unfortunately, this only worked when viewed from an angle - the numbers would almost completely disappear when viewed straight on.

    Lixies are also less fragile now that each pane is a solid piece!

    All of you on the waiting list or joining it going forward will be receiving this better version, of course!

    Software Updates

    A wonderful help in the development process, David Madison teamed up with me to deliver an amazing Arduino library for Lixie Displays. Most of the awesome features are in the changelog, but here's some of the most important additions:

    • lix.max_power(volts,milliamps) This is an extension of FastLED that allows you to globally limit brightness of the WS2812Bs so that they never draw more than your power supply can handle! Under normal use, a Lixie can only consume up to 120mA when two LEDs are lighting a digit at full white. But sometimes you might want to flash ALL LEDs for a notification. If you flashed full white on a 6-digit clock, it would draw more than 7.2 amps!
    • lix.color_balance(CRGB c_adj) Sets a color calibration for the LEDs. Supports all FastLED color temperatures, and custom temperatures in the form CRGB(r, g, b). (Default: Tungsten100W / R: 255 G: 214 B: 170)
    • lix.get_leds() Returns a pointer to the CRGB array that holds the color values sent to the displays. The library's show() function overwrites the values in this array, so call FastLED.show() to see any changes.

    The biggest addition David brought was removing the need for a config.h file to define constants. Now that are set from inside the sketch!

    #include "Lixie.h" // Include Lixie Library
    
    #define DATA_PIN   13
    #define NUM_LIXIES 2
    Lixie lix(DATA_PIN, NUM_LIXIES);
    
    long count = 0;
    
    void setup() {
      lix.begin(); // Initialize LEDs
    }
    
    void loop() {
      lix.write(count);
      count++;
      delay(250);
    }
    You can also have multiple different sets of Lixie displays on a single Arduino that can be separately written to.

    Release Update

    Everything is still on schedule for a January release! I'll be ordering 32 units to start, and another 32 immediately after! Feel free to hop on the waiting list to get one on release! :) Thank you again guys for the awesome support and David for all the great pull requests!

    - Connor

  • Putting Lixie to Use!

    Connor Nishijima12/28/2016 at 15:17 0 comments

    Hello again, makers!

    This week, I've got an update on Lixie manufacturing, a new accessory in the works, and a bunch of cool code examples!

    Manufacturing Update

    I've ordered the final revision of the Lixie PCB for testing from DirtyPCBs, and as soon as it arrives and passes, I'm committing to a 200-unit run from Elecrow! I've already ordered 50-units-worth of every electrical part, and waiting until my next check to order all the laser cuts, so we're still on schedule for mid-January.


    Accessories

    A new development for Lixie is a daughter board, simply named "Lixie USB". This will bolt on underneath the first Lixie in your chain, and solder through to the input pads. As of writing this, it has an ATMEGA16u2 on board, which can be programmed with the Arduino IDE right over the USB port! You can also power your Lixies with micro-USB with this board. This allows for two types of setups:

    • Program any Lixie code you want straight to the ATMEGA, for a standalone system
    • Program a Serial JSON Parser sketch to the ATMEGA, and control Lixies over USB from a computer, Raspberry Pi, and more!

    Also in the works in an ESP8266 daughter board w/ microUSB for standalone WiFi Lixies!


    Lixie Project Examples!

    Because we're nearing the Lixie launch, I've gone ahead and begun programming a bunch of projects you can use right out of the box!

    NTP Clock

    https://github.com/connornishijima/Lixie-projects/tree/master/ESP8266/NTP%20Clock

    The most obvious use for Lixies is a clock! By driving these with an ESP8266, you can flash this for a self-setting NTP Clock!


    Live Wordpress/PHP Visitor Counter
    https://github.com/connornishijima/Lixie-projects/tree/master/ESP8266/Live%20Wordpress%20Visitors

    This is a live Google Analytics-style counter of active users on your Wordpress/PHP site!


    OpenWeatherMap Display
    https://github.com/connornishijima/Lixie-projects/tree/master/ESP8266/OpenWeatherMap%20Display

    Another good use for an ESP8266 connected Lixie is a live weather display! The temp/humidity/pressure is shown in the numbers, and the weather status (clear/rain/extreme/etc) is shown in the color!


    Ping Speedometer
    https://github.com/connornishijima/Lixie-projects/tree/master/ESP8266/Ping%20Speedometer

    Using an ESP8266, you can have a live network latency monitor! This code pings Google often, and shows you the response time in milliseconds. The Lixies are also colored a range from green to red based on latency good/bad thresholds you set!


    data.sparkfun.com Streamer
    https://github.com/connornishijima/Lixie-projects/tree/master/ESP8266/data.sparkfun.com%20Streamer

    I'll be adding more logging services soon, but for now you can stream a field of your choice from any data.sparkfun.com log! Lixie will show the latest entry of a numeric field, such as temperature, wind speed, CPU load, or any number you can push!


    Nest Thermostat Display
    https://github.com/connornishijima/Lixie-projects/tree/master/Serial%20Parser/Python/Nest%20Thermostat

    This one is a bit different, as it requires the Serial JSON Parser mentioned above, and a Raspberry Pi. Unfortunately, the only way to do more complex internet tasks like OAuth2 is by using a computer like a Raspberry Pi. Pretty soon I'll be porting the Lixie Library to Python so that you can drive a Lixie chain directly from an embedded computer, but for now you'll need the USB-Serial setup.

    Pi > USB > Arduino > Lixie

    This is a script that connects to your Nest Thermostat over their cloud API, and returns the current measured temperature, coloured by the system status: orange = heat, cyan = cool, white = off.


    EOF

    All of the above projects - and there's more every day - are on the Lixie Projects Github Repo. Once again, thank you all for the support, pull requests, and a big thanks to the 83 people on the Tindie waiting list eagerly awaiting the arrival of their Lixie displays!

    - Connor

  • Seeing Double - and horrible speaking skills!

    Connor Nishijima12/17/2016 at 06:48 0 comments

    I've never been one to deliver lines well from a script, but here's a more personal update delivered in video! :)

    Here we see the awesome black WS2812B LEDs! Before ordering, I didn't even know they made these! Here is a view of two Lixies doing the "color count" test:

    Bought a second card table just for assembly!

    And here are some Lixies cooking in the oven! I highly recommend reflow soldering if you've never tried it, you'll save hours of your life with every product! ;)

    And here's a 360 view of a Lixie assembled with nitrile gloves in a clean environment like yours will be:

    Once again, thank you all for you support, and feel free to join the Lixie waiting list if you want to be notified on release in January!

    - Connor Nishijima

  • Officially Open Source!

    Connor Nishijima12/12/2016 at 02:49 0 comments

    Today, the Lixie Display was officially deemed open by the Open Source Hardware Association! (OSHWA for short.) This means that a member of the OSHWA board has manually checked that I'm properly sharing all documentation in an open, (Fritzing) or "free" format. (Eagle Free Version)

    Because of this, I'd like to cover two things:

    • The OSHW certification process
    • Lixie's open hardware!

    OSHW Certification

    After seeing this wonderful talk by SparkFun founder Nathan Seidle a few months ago, I decided that the Lixie display would be as open as possible. There's nothing you can do to stop a copy cat, so you might as well be friendly!

    If your idea can be sold, it will be.

    On December 9th, I submitted Lixie's documentation (available on the Github) to OSHWA through their online form. The "Certification Mark License Agreement" took about 30 minutes to complete with reading to make sure I wasn't signing my soul to the devil, but I was very pleased with the terms. For those of you unfamiliar with the OSHW mark, it's fairly new and very cool!

    The OSHW logo is a new iteration of the Open Source Hardware "Gear Logo". This gear is still valid, but has one issue: anybody can use it. This means that people who weren't open sourcing at all were using the logo purely for promotional reasons. (Dave Jones has a great video about this.) The new [OSHW] logo solves this by requiring manual approval of it's use per project with their certification process.

    OSHWA replied within 48 hours, on a weekend, with my official OSHW UID of "US000054"!

    Please note however, the OSHW mark is *NOT* a licence protecting the hardware from being closed by a third party, it's just a certification mark. You'll still need to bundle in a licence like The GPL v3 I use on all of my work.


    Lixie's Hardware

    In the spirit of being as Open as possible, let's take a thorough look through how Lixie works!

    Concept

    Lixie works by shining light through the edge of a clear acrylic. When the light hits an engraving or edge, it scatters in a different direction, and lands in your eye! This allows the flat surfaces of the acrylic to stay clear, and have only edges light up! Now put ten pieces in a stack, each marked with a different number 0-9, and you can show each number individually, on a clear surface!

    To do this well, we need two things: plate separation and a light filter. Adding a gap between plates prevents light from jumping between them, and a filter at the base prevents an LED from lighting any plates but the one it's supposed to.

    Plates

    Each of the ten plates has a number on it, 0 through 9. For maximum light output, these numbers are actually cut all the way through the acrylic, with little connected areas left on numbers like "9" so that no areas are completely cut out. (Think pumpkin carving). Most laser cutters are able to produce cuts of a certain depth as to not completely cut the material, but I use Ponoko for cutting these, which only allows very shallow engraving or full-blown cutting. Each plate is separated by a 1mm air gap.



    Filter

    A light filter is used to prevent LEDs from lighting plates they shouldn't. Each plate has two legs leading down to two slots, over two LEDs. This filter, and the PCB beneath it, are specifically designed so that the three anodes of the 5050 RGB LEDs are centered under the slots.

    Printed Circuit Board

    The Lixie actually has a very simple PCB, with some very specific dimensions. To fit all of the LEDS in, they have to be staggered diagonally. Each acrylic digit has the two lightpipe legs in different spots for this reason. As mentioned above, the LEDS are also placed JUST right so that the anodes for red, green, and blue are centered under the filter slots.


    TOP VIEW

    Conclusion and Waiting List

    I know some of you are waiting very anxiously for Lixie to go on sale, and I have good news! You can hop on a waiting list for the Tindie listing...

    Read more »

  • Hello again, world!

    Connor Nishijima12/08/2016 at 19:54 0 comments

    Since we last talked, Lixie's software has undergone some major changes! Let's jump in.

    • The library has been rewritten from scratch! This includes some big improvements like...
    • LED states have been reduced to almost 1/8th their original size! Before, each binary state was stored greedily in it's own byte. Sloppy programming. This meant the LED states of a single digit took 20 bytes! :( Now, a much better system of storing the binary states in the actual BINARY of a byte is here. A single digit now only takes 3 bytes! (20 states, 4 bits left over)
    • Lixie now has HSV color space as well as RGB! Use either that you'd like. :)
    • Numbers are no longer converted to char arrays for pushing out the data, it now does this mathematically with division.

    Along with software changes, a few have been made to the project itself. I am considering including a custom cut piece of black cardstock that users can shimmy into the assembly behind the rear digit to increase contrast if necessary. If you don't need it, it makes for one cool transparent display!

    Also, somebody requested I show the Lixie in a brighter environment so we could see how it looks during the day! Here is a Lixie (with all 10 digits now) cycling through colors in the daytime!

    More details are to come! Thank you all for the awesome support so far!

View all 6 project logs

Enjoy this project?

Share      

Discussions

Mark Nesselhaus wrote 02/08/2017 at 23:27 point

Now this would be great for my cardboard computer project. I like it :-)

  Are you sure? yes | no

Michael wrote 01/19/2017 at 15:52 point

When will these be available?

  Are you sure? yes | no

David Cornejo wrote 01/16/2017 at 02:50 point

Are you the same Connor Nishijima that bailed on his Kickstarter backers? Hope not, this is a cool project.

  Are you sure? yes | no

gamadril.dev wrote 12/23/2016 at 07:29 point

looks like a project I've seen a year ago... http://www.thingiverse.com/thing:880429

  Are you sure? yes | no

John Whittington wrote 12/14/2016 at 09:28 point

Snap :): http://nixiepipe.com/

edit as I should probably add: Good to see another's interpretation on the idea - I just finalising documenting my project to release to the world when someone notified me of your project. Useful to see the OSHW certification process too, it's something I'm going to look at. Here's my design blog too by the way: http://engineer.john-whittington.co.uk/2016/12/nixie-pipe-modern-day-led-nixie-tube/

  Are you sure? yes | no

Connor Nishijima wrote 12/14/2016 at 16:57 point

No worries! I'm not here to shut you down, in fact I really like them! :) My advice is that you need to add "edge lit acrylic nixie led" into your SEO tags, I was never able to find those in my research.

  Are you sure? yes | no

Androiders wrote 12/08/2016 at 21:00 point

love this :)

  Are you sure? yes | no

Ed wrote 12/03/2016 at 00:59 point

I'm just going to leave this here. 

  Are you sure? yes | no

brandonssmith wrote 12/02/2016 at 19:00 point

Cant wait for the followup files.  I would love to put a few of these in upside down mason jars and make a redneck nixie tube clock.

  Are you sure? yes | no

Andreas K wrote 12/02/2016 at 06:58 point

I would love to see these Eagle files :)

  Are you sure? yes | no

Jonathan Beri wrote 11/30/2016 at 12:06 point

Neat! What size ws2812s are you using? I recently found out they come in a 3535 package. You could probably make it more compact with these babies: https://www.adafruit.com/product/2686

  Are you sure? yes | no

cody wrote 11/29/2016 at 01:03 point

great idea... You should make some smaller ones with tubes and do a clock

  Are you sure? yes | no

Scott Clandinin wrote 11/28/2016 at 23:31 point

Was never a huge fan of nixie tubes, but this is very slick!

  Are you sure? yes | no

Does this project spark your interest?

Become a member to follow this project and never miss any updates