Monthly Archives: June 2016

WS2812 CrossFader

Based on Clay Shirky’s work for the Arduino, I extended it a little bit to use it with the WS2812 LED’s. Enjoy 🙂

-editorial-

That’s what happens when you code without trying, it doesn’t work at all, haha. Below is the revised code including some randomness, setup for 3 LED’s. Next step will be to remember the given values for each LED, it’s still a bit jumpy now.

 

Nextion 3.5″ touch display

After somewhat disappointing results with the 3D printer (XYZPrinting makes crap printers, fyi), I’ve had a display gathering dust. Namely the 3.5″ touch display from Nextion. This display has a builtin touch functionality and comes with a piece of software to upload images, buttons, gauges and whatnot to the screen. The screen than handles all the clicking and dragging and you get some clean out put to your Arduino or other serial device, neat!!

Too bad the software is, how to put it nicely, the biggest piece of crap you have ever seen. To proces things in the builtin controller of the screen there is something of a “programming” language available without much documentation. You’d suspect there would be something like a for-loop huh? Well, no … they can handle not too complex IF-statements but that’s about it.

But after messing around a bit, it started to make sense. Global variables are not global, and post/pre-actions don’t make sense, spaces between filling variables are of course leading to compilation errors and much more misery.

So, lots of work left there … the hardware seems really nice though. In the end I managed to setup a little LCARS interface with buttons who actually remember their settings and it even has a fade-in/fade-out sequence with a timeout! Don’t ask how I made the timers do the fading though. Normally you would load a little library in the Arduino and control the screen from there, but I want to put as much functions in the screen itself as possible so I can have the most juice in my Arduino or ESP to handle important things, like running my coffeemaker.

Anyway, here is a little piece of footage to let you see what I made. It’s not too fancy, but it shows a little of what this neat screen can do (if you stop thinking about everything you learned when programming …). In the end it makes it worth.

The next step is getting things to work with the Arduino and my favorite Arduino App, Blynk. I’ll probably be using  https://github.com/bborncr/nextion this library to read/write to the screen. Very light and simple, I like that 🙂

Slic3r and da Vinci 1.0 Pro

Sup folks,

Here is a little snippet I wrote in Perl to use as post-processing script in Slic3r. It will pick up the Slic3r .gcode output file and transform it in to a .3w file to use with XYZware. This is for those who, like, don’t really like the XYZware software and are too cheap to buy Simplify3D 😉

This script is quite possibly not written in the best way, but it’s the least I could do in about two hours. It works fine on my Mac,  but I’m guessing Windows users could be a bit troubled because of Perl not working OK. Basically this script was based on https://gamium.org/3d-printing/printing-on-the-da-vinci-xyz-printer/12/2219 this article, but since I can’t run Notepad++ without Wine, I thought I’d eliminate this step.

One more word of caution, I did not test the script yet, but it looks fine in XYZware. The description of the file is NOT accurate though because I manually insert a heading which is just rubbish, so I suggest trying this with a simple print first. I’m too lazy to get all parameters from Slic3r, though it should be possible to insert those into the modified header, maybe later …

-edit- Machine name ID should be daVinciAW10 apparently for the 1.0 Pro …