Showing posts from September, 2012

Moving code from ESP8266 to ESP32

A while ago I made a mashup of Dan Royer's code CNC 2 Axis Demo with my own code for trapezoidal motion stepper and servo control for ESP8266.

I assumed porting the code to the ESP32 would be trivial, and that was true for the most part: changes like library name being Wifi.h instead of Wifi8266.h were not a problem. UDP now does not like multicharacter writes but you can use print instead. So far so good.

However, when it came to the interrupt code I was stuck with the stepper interrupt causing an exception sometimes. And to make things weirder, the servo interrupt worked flawlessly (both of them had the IRAM_ATTR directive if you ask me).

Going little by little, I could narrow down the culprit to a floating point operation during the interrupt, that would cause problems sometimes but not always. Browsing around I found this post. Where the solution was simple: do not use floats within the interrupt routines but doubles. The reason was the float calculation would be performed by…

My ShapeOko experience

I have been dealing with a large size CNC project for a while. I thought a smaller version come come in handy at home. So I decided it will be a gift for my wife. I bought a ShapeOko from Inventables (Chicago, IL) with the fear that customs might be expensive. I ordered just the metal kit which was a steal at $199. It is shame that I ended up paying $90 for customs. When I mentioned to Zack (from Inventables) he was shocked too.

Anyway, for those of you that have never heard of ShapeOko let's say it is an open hardware project for a small CNC milling machine based on another open hardware project called Makerslide. The latter is a linear movement guide made of aluminium extrusion.

I am almost done building the thing and it only took a few hours. The kit is well packaged and it is easy to build following the wiki instructions. However there are several improvements that I may already include in my build: dual Y-axis motors, nema23 motors for X and Y axis and an alternate route for…

Circuit Cellar Interview

Over the last seven years I have published six articles on different topics on Circuit Cellar magazine. It is the only magazine I keep on buying myself at home whatever that means.

This summer I was approached by one of their editors about the possibility of running an interview. Being my first time, I wondered why other people might be interested on what I could say, I am not that interesting. But I thought it won't cause me any harm either (I honestly hope so) so I agreed.

The process was quite painless and you can read an abridged version here. Given the fact that I have not thought I have accomplished anything specially great, I guess the only meaning of that is that I am growing older. On the other hand, there is some ego boosting associated with the episode I cannot deny either. If only my employer cared about it a bit ...

Kaspersky endpoint security 8 with Remote Desktop

I've got a new computer in the office and it's a Windows 7 system (not my choice). I did all the required dance to enable Wake-On-Lan, both in the UEFI bios and on Windows but still my Remote Desktop did not happen.

Nmap reported port 3389 was filtered but Windows Firewall was disabled. It turns out that Kaspersky Endpoint Security 8 (which was installed) does have its own Firewall, which was activated in my setup, and apparently does not care whether you activate Remote Desktop in Windows or not. You have to go to its management app: Configuration/Antivirus protection/Firewall and click the packet filtering rules to enable TCP port 3389. I wish they either warn you when they see Remote Desktop is activated and there is a rule preventing it to work or to just self-adjust to that change.

But it is clear that Antivirus software real task is just make the life of Windows users miserable, isn't it?