Teensy APA102 POV Poi / Pixel Poi Build. Tutorial

@Howsthe water - it looks like the four connections might be thin copper strips under a black coating of either plastic or paint. You might try scratching this off to expose the four traces, tinning them, and then soldering. I think it would be difficult and require a cooler solder iron.
 
Poi Build

Hiya.
I recently built a pair of these poi which turned out great :) here's some pictures

J6tVo4o.png YEBaSmS.png R8ZUJNf.png

I have also rewritten the code generation webpage to create a demo of what the poi will look like allong with some ways to change certain things like the number of LEDs being used. I can upload my version of the webpage somewhere if there's enough interest bit it'll take a while as it's quite a bit of work to pull it out of my personal website.
Untitled.jpg

I'm interested in porting the code to the ESP platform and will be happy to assist anyone else wanting to do the same.
Also I was wondering what the lowest clock speed can be used and still generate the same effect, as the teensy 3.2 is quite expensive so i'd like to look at alternative controllers?
Cheers
 
Hiya mortonkopf.

I followed your guide almost exactly, so the same density as yours ( cant remember what it was at the moment )
I am currently travelling but when I get back i'm planning on getting some PCBs made with 2020 SMD LEDs in a 500mm length.
 
yep, those 2020s look incredibly tiny. I get the feeling that there might be a call for a bulk order if you manage to get a good lightweight compact PCB design. Really looking forward to updates on that.
 
That'd definitely be something I'd be up for doing. Have you tried any other micro controllers or is the Teensy the only one good enough?
 
Ive stuck with Teensy as the availability of additional pins, very good library and forum support, and small form factor mean that I didnt need to go elsewhere once I finally came to Teensy. Researched and prototypes a few alternatives, but nowhere near as good. Also, I am not a great programmer so found the simple toolchain and arduino IDE just right for me.
 
That'd definitely be something I'd be up for doing. Have you tried any other micro controllers or is the Teensy the only one good enough?

nice UI, I'd lack of skill in such coding, or I would also write one :\

Teensy 3.5/3.6 can do enough speed for POV up to 200 pixel I think, (1,800 line when 72 pixel, overkill details)
I think at least 800 frame/s when 200 pixels, pretty enough detail for most picture

apa102 - 2020 is made in TW, I still have some plenty of them , waiting for my futher prototype, never had time to forward
If you need some, maybe I can share some
notice they are unable to hand-solder, I use hot air gun for success soldering them.
 
user @HowstheWater is also looking at working with APA 2020 size, but using strips. It would be good to collect any learning here.

Agree that the UI looks good.
 
I had some successful prototype for the pads for apa102-2020,
see details at floor #252 253 , though the footprint is in fritzing ,
the working case should be easier to know since the manual of apa102s are usually chinese
 
Have a good day tell me whether I can implement this project on arduino mini
sorry if I do not understand it, I'm from Ukraine and I do not speak English well
 
Hi. Unfortunately the arduino Mini does not have enough memory for storing the graphics, and the processing power is sure to be an issue.
 
if you have specific questions about the project, feel free to ask on this thread as others will often have good answers and support. From the collected experience on POV projects on this site, the Teensy is great because it is powerful, has enough memory to store image data, gets the data out fast enough for POV, can run SPI leds for a good quality display, and uses a well known interface to programme it (Arduino IDE).
 
Андрій;172553 said:
if you have any questions about programming or can i contact for help to you

you can ask here or on a new thread I think is ok

surely you can do POV with Mini, I did some with nano.
But you need an additional flash/ storage device for your picture, for example SD card,
or you have to give up your color depth in order storage in Flash.
you need 24 bit for a pixel in .bmp , but you can as small as 1 bit if you have only black/white. I did use less like 8 bit (256 colors) with my nano project.

also, there are limits in reading and showing your picture with mini / nano, as they are only 16Mhz and teensy are more than 120Mhz
but you can start a slower-working code with it
 
Hi. Unfortunately the arduino Mini does not have enough memory for storing the graphics, and the processing power is sure to be an issue.

you can ask here or on a new thread I think is ok

surely you can do POV with Mini, I did some with nano.
But you need an additional flash/ storage device for your picture, for example SD card,
or you have to give up your color depth in order storage in Flash.
you need 24 bit for a pixel in .bmp , but you can as small as 1 bit if you have only black/white. I did use less like 8 bit (256 colors) with my nano project.

also, there are limits in reading and showing your picture with mini / nano, as they are only 16Mhz and teensy are more than 120Mhz
but you can start a slower-working code with it
if you need 120 MHz then the best fit is teensy 3.6 in which 180 MHz + sd flah slot

Is it possible to make 6 pairs and in some way synchronize them. ie, I enable the main poi and the rest together with the radiomodule

and how to add an image correctly using your converter? are there any other ways? because our task is to strike write a script in which we can arrange different time delays between effects. everyone shines - some shine, then again, is it all possible? and can your code be used as a basis? thank you for any help
 
Андрій;172567 said:
if you need 120 MHz then the best fit is teensy 3.6 in which 180 MHz + sd flah slot

Is it possible to make 6 pairs and in some way synchronize them. ie, I enable the main poi and the rest together with the radiomodule

and how to add an image correctly using your converter? are there any other ways? because our task is to strike write a script in which we can arrange different time delays between effects. everyone shines - some shine, then again, is it all possible? and can your code be used as a basis? thank you for any help

My friends plays with group POV and dealing those effect is mostly hard at designing( on computer etc)
different delay between effect and even as each poi/staff are themselves individuals - to design effect,
and they just follow the same music with intended different delays.

I don't use a radio synchronize because lack of enough skills
we count the time with the MCU itself and its cystall's very accurate,
as long as you click the button altogether precisely, the consciously teamed POV could work.
that is, they turn on the POI at the desired moment of music.

this is a performance in my university NTHU,
https://www.youtube.com/watch?v=MMW_FfNds2U

and you can see the difference color/lighting interval of the group, with my designed staff.
 
Last edited:
Hi. Unfortunately the arduino Mini does not have enough memory for storing the graphics, and the processing power is sure to be an issue.


you can ask here or on a new thread I think is ok

surely you can do POV with Mini, I did some with nano.
But you need an additional flash/ storage device for your picture, for example SD card,
or you have to give up your color depth in order storage in Flash.
you need 24 bit for a pixel in .bmp , but you can as small as 1 bit if you have only black/white. I did use less like 8 bit (256 colors) with my nano project.

also, there are limits in reading and showing your picture with mini / nano, as they are only 16Mhz and teensy are more than 120Mhz
but you can start a slower-working code with it

I buy teensy 3.6 and start collecting a prototype, as I finish I will ask for help with the code)
 
Андрій;172752 said:
how many images can be uploaded to teensy 3.2 and teensy 3.6 if there are two strips apa102 to 72 led

you should count the total height also, the width is 72 as you have 72 LEDs

T3.6 assume you have 800KBytes flash rom left after program, with 24 bit image(3 bytes per pixel),
you can have 800,000 / 3*72 ~= 3703 lines , so if a image is 72x200 than you can store about 18 pics in ROM
notice that you have a internal SDio slot for microSD card on T3.6,
so there's plenty of room even if you use a 64MB card(hard to find one anyway) (more than 1000 image in this case)

For T3.2 its about 200,000/ 3*72 ~=900 lines, sorry but 4 (72x200) full-colored 24bit pics is max
 
Last edited:
Hiya.
I recently built a pair of these poi which turned out great :) here's some pictures

View attachment 13106 View attachment 13107 View attachment 13108

I have also rewritten the code generation webpage to create a demo of what the poi will look like allong with some ways to change certain things like the number of LEDs being used. I can upload my version of the webpage somewhere if there's enough interest bit it'll take a while as it's quite a bit of work to pull it out of my personal website.
View attachment 13105

I'm interested in porting the code to the ESP platform and will be happy to assist anyone else wanting to do the same.
Also I was wondering what the lowest clock speed can be used and still generate the same effect, as the teensy 3.2 is quite expensive so i'd like to look at alternative controllers?
Cheers
yab wanted to look at your web page to me it is very interesting
 
I have added a bit more information to my request for some advice. This sketch works on esp8266 and fastled but stores all 137 patterns in RAM: https://github.com/djnamaste/POV-ESP8266-stored-in-ROM

I want to take advantage of the flash space on the esp and add more patterns and functions. PROGMEM was used by Adafruit's code here: https://github.com/adafruit/Kinetic_POV

Again, the code I posted works but if you change the patterns.h file and the imageinit part to read and access from flash memory, the chip reboots constantly.
 
on Teensy ARM you use "const" rather than PROGMEM and this will put the data into flash without using up RAM. Not sure hpw this works with esp8266 though. so you would declare an array like: const uint32_t myArray[] PROGMEM = {/* .... */} and you just access it simply rather than using pgm_read_...
 
Back
Top