Neon Pixels

5V daisy chained neon bulbs. For glowing neon lovers.

Similar projects worth following
As a big enthusiast of glowing neon, I had to do something with the INS-1 (ИНC-1) tubes. Disclaimer: this project is inefficient in many aspects such as consumption, cost, or time...
Fortunately plenty of time was available during the 2020 lock-down.

The aim is to use INS-1 neon bulb the same way we use "neopixel". For the sake of glowing neon.

Micro Used:
384 x PIC16F15313
1 x ESP32

INS-1 / ИНC-1

Fortunately, these single dot tubes are still easy to find in large quantity and rather cheap. Made by Gazotron, it seems they buildup a large stock at that time. The INS-1 has the advantage to be small and produce a nice dot due to the lens-style front. Plus its striking voltage is maximum 100V, lower than regular Nixies.







Proto_SCHAt first I imagined 5×7 dot character modules, such as the TIL305, but bigger. While playing and trying to make a tiny and simple 5V to 100V step-up power supply, I realized how simple it can be. Here we just need to reach the striking voltage and only 0.5mA. As there is yet non uniformity in brightness between tubes, no strong voltage accuracy is needed. Without the signal generator, it is a diode and a coil, shorted to ground with a transistor at high frequency.

Then comes the idea to mimic the popular serial cascading LEDs, such as the WS2812 or SK6812, the so called Adafruit ‘NeoPixel’.

Neon Pixel

What I observed when I was empirically select the components is one key parameter to reach 100V is low resistance coil and mosfet. The voltage can be adjusted by choosing the pulse frequency and width.


I was happy to see that only few pulses are needed to reach 100V. This enables pwm for bulb brightness control directly by driving the transistor. It is achieved with a pulse frequency of 100KHz and a PWM of 500Hz.



This leads me to the microcontroller choice. The peripherals needed are SPI, PWM, Timer, NCO and logic cell. The cheapest with all these options seems to be the PIC16F15313.


I first have issues with the SPI daily chain propagation delays. The data takes some time to be clocked out from input to output. If we use the same clock line for all the devices, the data will quickly be out of phase in respect to the clock.

A workaround is to delay the clock as well on each devices, and have in one side a data and clock in signal, and on the other side a data and clock out signal. Fortunately, this PIC has 4 logic cells, so I can use one to delay the clock, like a line buffer. I was lucky that the logic cell delay is almost the same as the SPI logic.

The only problem remaining is the rise and fall edge detection, they are apparently slightly different. It results a kind of clock pulse stretching, a change on the duty-cycle. However I can deal with it. With a clock speed of 480KHz, the 384th device is still receiving a usable clock signal. 



Now that the prototype works, it is time for a PCB. The aim here is of course to have the smallest footprint, while keep connections at the opposite of the bulb.



I ordered the boards from OSHpark and JLCPCB. Both make very nice boards. OSHPark has the gold finish, and JLCPCB has the V-cut option, which is very convenient in my case.



Lets start the long journey of soldering, The 2020 lock down gave me plenty of time to solder the 384 boards, on which there is 11 components.



A matrix

Meanwhile, it is time to think about a usable display. I then made matrix blocks of 8×8 pixels.



And controlled by an ESP32. I got the first encouraging result.


I start to make a support as well. A simple aluminium plate with two 3D printed legs. I add several slots in order to choose the inclination. 






I’m using an ESP32, with the arduino framework, and the IDE. The nice thing is I could extends the AdafruitGFX lib. So all the work of drawing, fonts etc, is yet done.

I added the notions of display size and buffer size. With a bigger buffer size, I can make easy scrolling by changing the coordinate of the view frame.

This Github repository contains the code and the schematics/PCB. 


With around 20mA per pixel, at full brightness, the total of the 384 pixels is almost 8A. Everything is at...

Read more »

View all 12 components

View all 2 project logs

Enjoy this project?



stafvdz wrote 11/29/2023 at 07:13 point

for the polarisatie zero what buttons did u use and why dont you connect the screen with the HDMI port on de pi zero?

  Are you sure? yes | no

mkobox wrote 07/30/2021 at 11:35 point

Awesome idea!

  Are you sure? yes | no

Maakbaas wrote 04/04/2021 at 14:38 point

Fantasic project, and great write-up.

  Are you sure? yes | no

Muth wrote 04/04/2021 at 15:37 point


  Are you sure? yes | no

alexwhittemore wrote 07/24/2020 at 15:09 point

"NOSFET" - is that the FET you switch on when you want to go EXTRA fast?

Love the project, it's got fantastic character!

  Are you sure? yes | no

foxpup wrote 07/23/2020 at 04:33 point

It's like looking at the ends of a whole bunch of lighted cigarettes.  (without the smoke) :-)  beautiful, actually

  Are you sure? yes | no

Andy Geppert wrote 07/22/2020 at 20:24 point

Excellent project and write up!

  Are you sure? yes | no

Muth wrote 07/23/2020 at 06:28 point

Thanks Andy !

Your work on Core memory is just awesome!

  Are you sure? yes | no

Keith Moore wrote 07/22/2020 at 16:20 point

Wow! I love it. I have a box of these and use them in onesy-twosy way for colons and such. I am considering that I could make one of these. It's  great idea!   INS-3 are also an option but they don't show straight on the top like these INS-1s do.   GREAT WORK! 

  Are you sure? yes | no

Muth wrote 07/23/2020 at 06:26 point

Glad you like it !

You're right, the INS-3 is more a side-view tube. Maybe if their pins are bent at 45° at the end of the small board, perhaps there is a way to make a dense matrix as well.

An other option is the TNI-1,5D or IN-6 tube, nice top-view and a bit bigger. But they are hard to find.

  Are you sure? yes | no

Jonathan Bruneau wrote 07/22/2020 at 15:55 point

This project is awesome!  Excellent work!

  Are you sure? yes | no

Muth wrote 07/23/2020 at 06:21 point

Thanks a lot !

  Are you sure? yes | no

Mike Szczys wrote 07/20/2020 at 19:33 point

I love everything about this. The PCBs for individual pixels, and the backplane that gangs them together are a masterpiece.

  Are you sure? yes | no

Muth wrote 07/21/2020 at 07:43 point

Thanks a lot Mike, I'm glad you like it!

It was really this kind of project done by following fun inspirations rather than an optimal solution ;)

  Are you sure? yes | no

Dan Julio wrote 07/11/2020 at 00:47 point

Fantastic!  A whole new level of distributed computing.  Curious if you considered multiplexing?

  Are you sure? yes | no

Ken Yap wrote 07/11/2020 at 03:55 point

Nah, raise the challenge, add diodes and charlieplex them. If it works you read it here first. If it's a stupid idea, a cat jumped on my keyboard. 🐱

  Are you sure? yes | no

Muth wrote 07/11/2020 at 08:54 point

Thanks! yes it is a 384 cores device :) (plus 2 in the Esp32 thus a 386 :D )
I considered multiplexing for a 5x7 char module at first. However on a large amount of pixels it would be quite low brightness.

  Are you sure? yes | no

Dan Maloney wrote 07/10/2020 at 16:37 point

Love the look! Those modules are so tightly packed - nice work!

  Are you sure? yes | no

Muth wrote 07/11/2020 at 08:55 point

Thanks a lot Dan!

  Are you sure? yes | no

Ken Yap wrote 07/08/2020 at 14:10 point

Wow! Very nice. Your dedication is amazing. 👍👍👍

Can you post details of the device which listens to a finger snap to populate the PCB and solder it? That would be so great for my projects. 🤣

  Are you sure? yes | no

Muth wrote 07/08/2020 at 16:17 point

Thanks a lot!
I definitely must post the finger snap populator device! ;)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

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