Whats in a Firmware: a year later

Ah, that IT I’ve never heard of but no doubt someone calls some software development and deployment by that name since it does make for a bigger kingdom controlling both kinds of “IT”.
Management just loves to grow and control over larger lands.

I’ve been told that my belief and trust in Science is a religion by a Born-Again believer. I’ve too often heard of operating system choice being a religion and it’s usually the Microsoft fans making the claims. But "to cloud " or “not to cloud” also is a religious choice is a new one. Man, if I wipe with my right and not my left is that… For someone so devoutly anti-religious I seem to be oozing it. Is wanting control a religion too. Dammit Jim! You have me questioning everything. LOL
If only Star Trek was right about this one:
[Capt. Kirk ]: Caesar - and Christ. They had them both. And the word is spreading… only now.

[Dr. McCoy ]: A philosophy of total love and total brotherhood.

[Spock ]: It will replace their imperial Rome; but it will happen in their twentieth century.

[Capt. Kirk ]: Wouldn’t it be something to watch, to be a part of? To see it happen all over again? Mister Chekov, take us out of orbit. Ahead warp factor one.

[Chekov ]: Aye, sir.

@RFLULLING if you wait long enough you will be able to get a realtime control system for your CNC, Lasers and 3DP but it might take another 5-10 years to get one that’s “acceptable”. Current buffered controller firmware does work most of the time and the ARM platform has allowed more program space for improvements in the meantime.

2 Likes

If I was a dedicated code monkey, I would already be working on it. I know people that could help, but wont, the subject is of no interest and they don’t see the dollar signs.

The cloud… what a ubiquitous and highly abused term. Perhaps like IT we don’t really know what is really means these days. Are we talking the developer, the network support, or end user technicians. Likewise the cloud, is indeed a bit like trying to explain a god given how often the definition shift with the use of the concept over the years. But I do recall back when I first heard Cloud pushed in marketing as a solution from IBM, and later HP. Microsoft jumped in and suddenly it meant whatever marketing wanted. But to me, it has always seemed to be little more than coined term to define remote resources, without having to specify what those resources really were. Though, today we are spoiled having those resources in near real time, and the lines between blurred even more. In a way, a near total throw back to the days of the Terminals accessing a server. There are those who see dollar signs in that being a thing again and no computer being allowed to keep any of it’s own files. But I am not here to fan the flames of my opinion on corporate greed. I only wish to chime in with my opinion, with how I have come to see things. Today access to a cloud might be shared files, shared software, remote operating system, possibly even shred computing. It’s whatever it needs to be. The the marketing of the term cloud, and why it is successful too. But I think that for most of us, it is little more than a remote location to share some files, in a way that would have made Napster envious. We no longer need Floppies, CDs, DVD, Blu-Ray, Flash drives or SD cards. Just plugin the internet and the storage is available as much as you need in near real time.

To be clear to every one following. As I have said I am not a code monkey. I can disassemble your engine and put it back together near blind folded, and in my mind not only maintain a full 3d of every place and part but also ways I think it could be better. The code that I do is often end user tweaks and hacks to Marlin, and authoring sketches in ESP32 or Arduino. The most complex code I have written was in basic, on a casio graphic calculator. It took into consideration the size of the sheet of paper I was given and the XYZ on the object being drafted to allow me to center it perfectly on the paper where 4 views were needed. I am not counting my excel data base insanity.

I know exactly two developers. One claims to have met, or has know the founders of Apple, and has a platinum copy of the apple computer mother board on his wall. The other is an Oracle developer. Neither one has the slightest interest in any of the work I do, at home, or professionally. NDA puts the bars on ever having a serious conversation about anything I do code or hardware wise, though how I wish I could ask for help. Some of the things I am trying to do… If I can make them work, will change industries. Even an ant if given the time, can move a mountain.

I cringe hearing stuff like this but the game has been business as usual for very long time. It takes on many forms and without question the game has held influence over the development of every corporation and technology in this country. Until we pass laws to disallow it, or fun prosecution. It will never stop. And this one basic flaw in the system is just one of many.

I dare say it’s not as much a matter of religion, as it is Politics. There is no faith here, unless you count the fan boys who push “the ours never does…” mantra.

I have used Apple (Mac OS5, 6, 7, 8, 9 and X.4), Microsoft (Windows 95, 98, ME, XP, VISTA, 7, and 10), Linux (Ubuntu, and various other boot able for utilities.). I kiss the ring for no one.

The other thing that makes me cringe is hearing a developer say “It didn’t do that on my computer” when I am the beta tester who is supposed to be testing it and thus finding the issues. Don’t blame the beta testers, thank them for making it break!

1 Like

Followup on CNCjs. First I found out that under closer examination CNCjs is also jscut.org. I did not fully realize that jscut.org just a stripped down version for web demo.

Sad news For those who use it already. It looks like development is concluded and they are only looking to maintain. So it seems unlikely we will actually see any new growth. There was a conversation about handing off the development or maintenance to more egar developers if the OP no longer has interest. OP and his second run a users group on FB and both seem burned out, and are in no hurry to do much of anything. Comment was that developers want a source of cash to make it worth while. -So it seems at least that this one is now a path to no place, and fixes to issues are unlikely ‘unless they find funding.’

Might be able to get it running on java, if I can ever figure out how to install it as a java program. yikes, I just barely held it together running my Ubuntu Linux box at work. I don’t think I have a clue on Java apps, if they don’t startup with an EXE, MSI, or BAT, then I am a bit lost. I think I need to get a Java console open but I don’t seem to know how to do that in Windows, and none of the commands seem work from Windows command line, or Power Shell. No doubt I am just clueless, spoilt by the EXE.

-Perhaps S3D will let me load the files and at least send them on Marlin?
-Other firmware, to be determined. For sure looking to discard that 3018 controller like it’s on fire.
-Not sure about testing the other alternatives just yet.

CNCjs is writen in JavaScript and JavaScript is not Java… Node.js is the runtime system used and it’s all open source and I’m pretty sure it runs on Windows too. CNCjs is also just a GCode sender application with UI tweaks for the specifics of CNC users. It is not much of a CAM tool so if you want a supported CAM package you should look to Kiri:Moto( http://grid.space ). For a CNC I question why Marlin( designed as a 3D printer firmware ) over GRBL?

I’ve used CNCjs and it worked well for me. Mitch will answer dev questions on it. Mitch has been working with Bart Dring on Barts many CNC controller board designs and Barts controllers have been using ESP32 and Barts GRBLesp which is a 32bit GRBL port. CNCjs is a usable tool as it stands so while it can be more comforting when you find a tool and it has current development, when you find something which works that can be good enough in many cases.

There are only a few cases where my preference is an all-in-one application as opposed to tools which excel at specific elements of the workflow. I use LightBurn for laser work and sometimes use it also for the project design but it doesn’t prevent me from doing laser designs in other tools and importing the results into LightBurn, tweaking it for the machine and effectively using LightBurn as the GCode sender tool. For CNC you can get things like VCarve which combines a limited CAM package with the GCode sender and some people like that more than having different tools for the different tasks. Some will call this a religion too but it’s just a choice of wanting choice or being willing to give up choice for simplicity. iPhone vs Android, etc etc. CNCjs is a fine tool. $0.02

1 Like

Ahh yes the ESP32 CNC. Looked it over once or twice when it was a much younger project. I do most of my own work on ESP32 at this time.

A really nice DevKit is the ESP32-POE-ISO.
But due to the way its built the pins out are not the same as most other dev kits and the total number of actually available pins is much more limited no mater what Olimex says it is.
But what makes it a nifty tool, is the built in POE function, and the High Voltage Isolation. Neither of which are really found in other dev kits.

I really need to tinker with the ESP32 CNC sometime at least to say I did. I also need to build out a ESP32 MPPT which should give me a good charge.

I like the ESP32 since I can tell Ardunio to GPIO a port directly without needing to assemble a package that is delivered to all pins on a port as with actual Arduino tech. Revising code written for the older Arduino hardware to be run on ESP32… uggg. But I learned a lot and the I think the code runs much simpler now. Some day I will start tinkering with STM hardware. Though by the time I get to that point I really will be ready to develop actual controller cards for Laser, CNC and 3DP. :wink:

Definitely tinkering with KiriMoto, at least as training wheels even if nothing more. Really would love to see both KiriMoto and CNCjs continue to grow. They both look to have a lot of potential. But through understanding their limitations, I also come to understand the differences in the slicers and the firmware all the much more. So its a good experience.

2 Likes

Looks like Bart Dring and Mitch Bradley are onto what’s called FluidNC and while I have not uploaded and tried this I expect very good things from it. Runs on esp32 and I saw some cool stuff like laser and 3DP support along with the usual CNC.

4 Likes

I’d like to strongly recommend FluidNC, especially for tinkerers.

I am currently using FluidNC on my small CNC; upgraded from GRBL-esp32 a few months ago. I even contributed towards getting a multi-platform python installer in the package.

My controller (brought from Bart 3 years ago) uses a standard 38 pin nodeMCU esp32 dev board and 3x stepper drivers + stops/probe/buttons and pwm spindle/laser using all of the pins on the module… However, Bart is now focusing on boards using spi based stepper drivers, and extenders for gpio, providing advanced multi-axis/stepper control. It’s worth checking out to see just what they are doing, there is a new WebUI on the way too.

In particular; the firmware is a unified binary, there is no need to recompile for specific hardware or features, you just download and apply a binary blob or compile yourself, it is platformIO based and well documented. The entire configuration is held in a text based config file on the SD card, It’s ideal for tinkerers since you can apply hardware or config changes to that file and reboot; they are immediately applied. Once the initial partitioning has been done via USB you can use OTA upgrades for the main firmware and WebUI.

For CAM software I use LaserWeb exclusively… :wink:
…well almost, I also use FlatCam for preparing PCB paths.

4 Likes

Thanks Owen for writing that up. I’ve been trying to get through lots of old msgs on the Discord forum to find out what’s better than GRBL-esp32 and generally why the effort to recreate what he’d done with this previous board(s). I was around when he and Mitch were designing the new universal board and loved the thoughful design and module selection.

I was able to glean that not only are they supporting the LinuxCNC-GCode standard(by the book) they are making sure you can run multiple tools(example: a spindle AND a laser ) and switch in one GCode file. So doing a job with both laser engraving and carving should be doable in one operation.

I was not sure if it was operational yet. I too have one of Bart’s 3 channel CNC boards from a few years ago. I have been toying with the idea of adding some I/O line drivers to use it with my stock Chinese 3040T-CNC ( DB-25 uses TB6560 drivers on all 4 axis ) which currently has an 5V Arduino running GRBL controlling it.

I’ve seen a number of people pay upwards of $1000 to add a laser to their CNC machines(many are Shapeokos) and while the laser mount is nice, the control is and OR function(either CNC or Laser). They love the Shapeoko because of how it’s an all in one setup(VCarve or Carbide Create) and don’t like a workflow having more than one software UI. That last I checked a year or so ago the Carbide-3D machines still used AVR328 (8-bit) based controllers running GRBL.

The other thing I liked about what Bart and Mitch are doing is targetting CNC, lasers, and 3D printers. That’s big in my book since now all 3 of those are common maker tools. I helped get Remora/LinuxCNC on the 3 machine types but LinuxCNC itself is a bit too much for many makers so FluidNC might just be the bomb here.

Maybe we need to have a FluidNC channel or at least its own post/thread.

5 Likes

I also have a stock 3040 that I have not done anything with yet. This would be a great chance to play with FluidNC and see and see what it’s all about.

3 Likes

I’m up for getting this going and document as we go. As I mentioned, I already have one of Bart’s 3 channel CNC boards. If you don’t and you’re willing to pick up one of his new universal boards are are up for bread-boarding an ESP32 and some drivers and filters to wire to a DB-25 it would be a fun journey.

3 Likes

This post is gathering dust I know. But I wanted to add in. After a long journey I was able to get the attention of the developer on CNCjs. He fixed it so that Marlin2.x is now compatible with CNCjs. Turned out to be caused by CNCjs not being able to read the Temp data from Marlin. I haven’t tested in all possible configurations, but so far it works on my home FDM and the personal CNC retrofit project I have at work.

4 Likes