1.4.0 Alpha 6 (Macros update, now with FILE MANAGEMENT! )


1.4.0 Macros Update ALPHA 6

This is the third sixth release version of firmware 1.4.0

This will likely be the final release of 1.4.0 if no bugs are reported.

This is test firmware. As with all test/alpha/beta software, DO NOT INSTALL unless you like to be on the bleeding edge and can live with potential bugs.

Alpha 6 adds:

This update includes:

  • Add the ability to have up to 20 custom Macros.

Known Issues:

  • If you name a macro the same as a file name, when deleting the file name or macro, it will delete both.

Download here

(click the blue link below to download. Do not unzip the file.):
bbctrl-1.4.0-alpha-6.tar.bz2 (2.7 MB)

How To Install:

Updating via USB
You’ll do an update via USB using the following steps:
After downloading, DO NOT UNZIP THE FILE!!!
Copy the blue .bz2 file above onto a usb stick (it must be formatted as fat 32 or ntsf). Click the flyout menu (three bars on top left), general, under firmware click ‘UPLOAD’. Select the 1.3 file.
If you are on firmware 1.0.8 or lower, it may ask for a password.
the password to update will either be buildbotics or onefinity

Manual on how to update.

Why would you want Macros?

Macro buttons on a CNC (Computer Numerical Control) machine, such as the Onefinity CNC, can offer several advantages for users. Here are some reasons why Onefinity CNC users might want macro buttons:

  1. Workflow Efficiency: Macro buttons allow users to automate sequences of commands or repetitive tasks with a single button press. This can significantly streamline the workflow and reduce the time and effort required to perform certain operations.
  2. Customization: CNC users often have specific preferences and workflows. Macro buttons provide a way to customize the machine’s operation according to individual needs, making it easier for users to work with the machine in a way that suits their style.
  3. Complex Operations: CNC machining may involve complex operations with multiple steps. Macro buttons can be programmed to execute these sequences, simplifying the process for users and reducing the chance of errors.
  4. Repeatability: Macros ensure consistent and repeatable results. Users can save specific toolpaths, speeds, and other parameters in macros, ensuring that the same settings are applied consistently across different projects.
  5. Reduced Operator Fatigue: Automation through macro buttons can help reduce operator fatigue by automating repetitive tasks, allowing users to focus on more critical aspects of the machining process.
  6. Emergency Situations: In case of an emergency or unexpected situation, having macro buttons with predefined emergency procedures can be crucial for quickly stopping or pausing the machine, preventing potential damage.
  7. Learning Curve: For users who are new to CNC machining, macro buttons can simplify the learning curve. Instead of memorizing complex commands, users can rely on macro buttons for common tasks until they become more familiar with the machine’s operation.

How the Macros work:

Upon install you will notice 8 unassigned Macro buttons below the probe buttons and above the play/stop buttons.
You can assign any gcode you want to these buttons. It will always show a minimum of 8 buttons but up to 20 macro buttons can be created.

How to assign the Macros.

Push the 3 line button in the upper left of the main screen to access the flyout menu. The MACROS word will be near the top. Tap this access the macros setting.

Macros Configuration Page

The macro configuration page is how you add or remove or edit the macro functions. At the top you have the delete all button, which deletes all macros you’ve created and sets Macros back to default of 8 with nothing assigned.
The New Macros button assigns a new macros button starting with Macro 9 through 20.
Delete Selected button will delete any selected macros from 9-20. It will not delete the default 1-8 macro buttons. 8 will always be showing.

Below that is the ‘select a macros’ drop down. You will click this drop down to access the macros button you want to assign a function to.

Macros name has a default white box on the left and a text box on the right. The left box assigns the macros a color, and the text box names the macro. The text can contain up to 15 characters. Special characters (like &%^$(*(#, etc) MAY not work (as this hasn’t been tested n it’s alpha firmware state).

Below that is the Macros G-Code section.
The left has a drop down box that says Create G-Code by default. To the right is the upload button, and to the right of that is the delete button.

The drop down allows you to select any Macros you’ve written or uploaded in the past. The upload button will upload gcode (must be a file that ends in .nc). We have some premade Macros in this linked forum post.
The delete button will delete the gcode assigned to this macro.

The text box at the very bottom is where you can write custom gcode on the fly, see the gcode of any uploaded macros, or edit any macro gcode.

Finally, the save button is at the bottom and must be pushed for any changes made to occur.

Default view of the macros setting:

Parking Gcode example:

Confirmation box

What it looks like when a macro is assigned:

Where can I get premade Macros?

1 Like

From a user experience perspective, why separate multi file and single file upload. Enable multiselect or folder selection in a single screen.

it’s folder vs file. file just let’s you select multiple files now if you want. the other button selects a folder.

1 Like

Ah… Very well… Thanks for the clarification.

1 Like

I used Alpha 6 last night successfully both with my HY Spindle, and my PWM Laser. It worked great. I’m so happy to finally be able to select and upload multiple .gcode files at one time! I used XYZ and Z probing too, and things seem to be working as intended. I can appreciate that the new XY Origin and Z Origin labels on the Jog buttons might help some people confusing them with “zeroing” or “homing” etc.

My most minor of complaints is that i now with macros buttons (that i love!) I have to scroll on my small original 8" touch screen to see the file controls. If it were an option to hide the 134px tall .nav-header containing the logo, ip address, version, camera and estop, i’d happily hide those in favor of always being able to see the file selectors. (i have a physical e-stop button).

Thanks for all the hard work on the firmware improvements, it is much appreciated!


It looks like macro version of the firmware is getting very close to the final version. I haven’t upgraded yet simply because I don’t get a lot of time lately to use my 1F. But I’m really looking forward to having macros. Even if it’s just to push a button to have the gantry move out of my way to remove the workpiece.

Is it possible (or maybe it already is) to get the option to select the screen size? I see tmuka is using the small touch screen but I’m using a 21" since it was all I could find during COVID. I have lots of room so it would be nice if I could see more of the screen. I have been meaning to rotate the display 90 degrees since I could use more height and less width but just haven’t had the time. If it was as simple a checking a box for both orientation and display size it would really be nice addition to work with the extra room the macro buttons use on the display.

1 Like

rotating the screen 180 is already built in. rotating 90 is not.

Does this version have any of the “memory” features after stop/reboot? I thought that was next.

That will be worked on in 1.5


180 degrees doesn’t really help. Being able to turn a 16x9 monitor sideways to be able to see all the way down to the code running without scrolling would be nice. Right now it’s just waisted space on the side.


Hey Alex,

rotating by 90° is possible this way. It is a variation of this howto.

If you have display output not shown on the right side and need to scroll horizontally, you may also make the user interface smaller with Ctrl-hyphen keys or bigger with Ctrl-plus.


I know it can be done. I just would like a button, like the one that rotates it 180 degrees. That way anyone who wants to can do it very simply. If they switch monitors or decide they don’t like it they can switch back. If the macro buttons were on the right side of the display vs above the buttons to load the program in a new firmware revision, for example, then the current orientation could be better.

Hey Alex, hey @onefinitycnc

I agree that a simple button for 90° and 270° would be nice. The User Interface is a web page so portrait orientation would make more sense than standard landscape orientation.


1 Like

Ability to upload multiple files and folders containing files…that’s a beautiful thing, works great…most happy for that addition!!

One peculiarity when deleting a folder… a dialog pops up and gives a choice of deleting “Folder only” or “Folder and files”. One might surmise that if you delete a “folder”, its contents also get deleted. Not so…Instead, the contents of the folder chosen for deletion are moved to the “default” folder, then the actual folder is deleted. This I’m sure is not a bug, but it just kinda goes against the grain of conventional thinking. That’s OK, just needs to be understood.

Deleting “Folder and Files” works as expected…no mystery here.

Thanks for the great addition!!

1 Like

Is there anyway to us a Macro to easily switch back and forth between PWNCNC Spindle and Laser without having to go into the tools menu and switch manually? Will this be part of the 1.4.X series?

no. We also do not offer technical support for aftermarket spindles.

@OnefinityCNC if I understand correctly, any CNC spindle that we install we will have to do this switch manually each time in the settings? Is there any spindle available that does not require this change in the settings each time?

You are understanding correctly. No spindle exists that would be otherwise.

@OnefinityCNC can you implement one of these 2 solution in the next alpha version?
1. Support both laser and spindle at the same time
2. Adding a button to the interface that switches between laser an spindle

I was just about tu buy a spindle but now knowing this, I won’t since I switch multiple times per day between laser and router/spindle…

1 Like

I sometimes get this error. This time it happenned right after uploading a file. The only think I can do is a hard reset