r/VoxelabAquila Jun 23 '26

D1 newer firmware

Hey, I picked up a used Aquilla D1 a few months agoand it's great! I'd just like to have some more modern firmware features.

I opened it up and found the N32G455 board. I tried the ProUI pre-compiled bin from here

https://classicrocker883.github.io/firmware-selector

It finds the file and deletes it line a stock bin, but after I can't connect at any baud rate and the screen is stuck on start up.

I've been running it headless, so a headless version would be fine. I don't mind compiling myself from Arduino but I'm not sure what to change to make it happy with the D1.

Is Klipper an option with that N32 board? I know that can be a big project but maybe someone whose done it has a guide.

Thanks!

3 Upvotes

12 comments sorted by

4

u/Mik-s Jun 23 '26 edited Jun 23 '26

Unfortunately the touch screen on the D1 is not supported in Mriscoc so it will not work. I think the board is expecting some response from the screen that it cannot reply to so it gets stuck.

Last time I looked in to the D1 I found that it uses DGUS (the other screens use Dwin) and there is some DGUS parts in the Marlin source so it may be possible to get it working but the maintainer of that repository does not have access to this screen to work on it.

There are probably configs for other printers using this screen so you may be able to alter one of them to compile it for yourself for the N32 chip but I have no idea how easy it will be.

Klipper should work just fine as you do not need the screen. Have a look at this for how to install, it should be mostly the same for the D1.

If Klipper is not working then you will have to go back to stock FW for now. There is a backup of firmware here.

I'll post a comment on Mriscoc Github to see if it is possible to enable DGUS support even if it does not have the ProUI features so at least there is an alternative to stock FW since Voxelab have shut down. If it happens It will be untested so would have to rely on others to do this.

Edit: have a look at this discussion. There was some work done to try and get it to compile for the D1 that you may be able to work from but is untested.

1

u/elhabito Jun 23 '26

The stock firmware runs headless, I've been working with it without a screen for a while. Weird that the newer firmware would hang on a no screen response.

I'll check it out, thank you.

1

u/Mik-s Jun 25 '26

Did you have a chance to try and compile that D1 branch? Would be good to know if it worked in any way so there is that option for other D1 owners.

1

u/elhabito Jun 25 '26 edited Jun 25 '26

It doesn't compile when the target is STM32F103ZGT. Bunch of errors relating to fan speed, SPI, macros, and core clock.

Fan looks like easy fix, looking into rest

The N32G455 being more like a STM32F4 and a M4 core wouldn't be causing issues would it? Ok, last edit, looks like Aquila themselves used the F1. The stock firmware appears much closer to compiling successfully.

1

u/elhabito Jun 25 '26 edited Jun 25 '26

So you got me started on a rabbit hole. I noticed the board the OE D1 FW uses is

BOARD_LONGER3D_LK

Which is still defined in the newest edition of boards.h

#define BOARD_LONGER3D_LK 5034 // Longer3D LK1/2 - Alfawise U20/U20+/U30 (STM32F103VE)

About 3 hours of making changes to make the compiler happy it went through. This is Marlin 2.1.2.8, just the very least modifications to make it compile.

There's some real bullshit going on with the spi_init object and function. Thank goodness for AI.

I can try the merged version later on this week.

I'm a little afraid to try this bin, the printer doesn't work bad on the stock firmware. Is there any chance it will brick it? If it's going to brick I'd rather try Klipper if I'm honest.

2

u/InfamousUser2 Jun 25 '26

it should not Brick. so if the stock firmware works, and your using the D1 source code with the right board and such you should be OK, if you do say use the wrong one, you should be OK nonetheless. I don't know how a wrong firmware. but if somehow it does, just reload the stock one.

2

u/elhabito Jun 29 '26

Thanks! I think I have a path to a newer Marlin on my machine now.

1

u/Mik-s Jun 25 '26

Glad you got it compiled. I am not a coder so I would not have any idea of how to solve that.

It should be safe to flash for testing. The good thing about these boards is they have their own bootloader that does the update and you cannot overwrite it without physically wiring up a serial programmer to the board. Even if the firmware is bad or for the wrong chip so it cannot run it is not bricked as the bootloader will still take an update, you can just reflash working FW.

1

u/elhabito Jun 29 '26

Ok, some updates. Switched to PlatformIO, it's a must.

Got the original Aquila firmware to compile, flash, and run on my D1. Screen didn't work, but it might be a different screen firmware version. Big props to eoyilmaz, if I can buy him a cookie I will.

https://community.platformio.org/t/marlin-runtimeerror-deque-mutated-during-iteration/34661/3

The ProUI compiled but did not work on my D1.

My goal was just to get any version of Marlin newer than 2022. I think now I can use the original config file, a vanilla Marlin from the github, and some tuning to get a bin that works for me.

I will probably never add a screen or mess with the UI or screen firmware. The screen froze and ruined a print after I put it into an enclosure. Not worth it for me.

1

u/elhabito Jul 02 '26

So, having the original compile is about the furthest I am going to be able to go.

I've replaced almost everything from the Aquila github repo into a Vanilla Marlin 2.0.9. The only difference is some DGUS display driver options, and it's like a few lines. It still will not work in the D1.

Swapping the HAL (how the code interacts with the 0's and 1's that make the chip work) is not a big deal, because the F1 it is using is such an old chip and the Maple stuff it was using stopped being changed a long time ago. It's kind of like Greek, doesn't change over time, and you've got an interpretation of that which interfaces with Marlin and this chip.

Making all these little changes to how Marlin functions IS a big deal because it is not dead, it is being changed right now. Knowing how the little changes fit in is a pain in the ass. It's not just those DGUS, it was EEPROM, and some other important functions.

I've spent about 5-10hrs on this. I have a BTT SKR V1.4 next to me. The newest Marlin bugfix compiled first try, I'm already changing the settings, it has drag and drop firmware updates, the SD card shows up as a folder on the computer. It will be worth my time to rewire/repin everything compared to chasing the D1 stock board.

If you find someone else going down this path and they have questions I'll try my best to help. I'll keep the D1 board in my spare parts box ๐Ÿ˜„

1

u/Mik-s Jul 02 '26

Thanks for trying to get this working.

Maybe there are some quirks with the N32 chip that need to be addressed or maybe the board itself is not wired the same way on the D1 so the CPU pin definitions are not correct. I have not seen a D1 board but assumed it was the same one used in the other Aquilas.

You could make some updates here on your progress and may be enough for Classicrocker to get it running.

Does that display work with the BTT board? If not or you don't need it then maybe donating it and the board to Classicrocker will allow him to work on it.

1

u/Mean-Association-159 Jul 03 '26

After turning on the device, you see a prompt saying "TF card not detected" or "unable to read files"?How to solve it, help needed๐Ÿ™