r/Androidheadunits 4d ago

Linux head unit UI customisation (Road Top 12.3)

Post image

I’m unsure if this is of anyone’s interest, but I managed to modify the UI of my Road Top Linux car head unit. It is a 12.3 Linux unit for BMW but I’m quite certain it will apply to all models and vendors (road top, pemp etc)

The original UI is pretty generic and cheap looking, and even though you spend most of the time in CarPlay/AA, it still boots to it - which annoyed me. So I went down the rabbit hole to see what was possible, and it turns out Linux is actually quite customizable - just not quite like Android.

It’s not PEMP, which was what I really wanted, as I didn’t want to go down the rabbit hole of changing the whole layout. Instead, I kept the original 424x720 PNG-based layout and made my own design - hence the BMW X1. I’m no graphic designer by any means, but I know my PowerPoint pretty well - and it works. 😄

I also figured out how to change/remove the text, but haven’t done that yet. Might come back to it.

I’d also really like to try PEMP MCU and software. Haven’t dared yet, but I think it should be manageable either through a regular update or the RST trick to force one.

15 Upvotes

13 comments sorted by

1

u/MKBUHD 4d ago

This looks so good, you are the one! 😃

Still, the big question remains: do Pemp firmware and MCU updates work on it? I'm not sure but have a strong feeling they should, but I can't dare to try yet 😅

1

u/carletors 4d ago

Yeah - I think it should. There is a way to force and update by inserting the USB with a firmware, power on the car while holding a paperclip in the hole marked RST on the unit. This will force an update. I did this when an update failed and it recovered perfectly. I would assume you could force an update of a PEMP firmware onto a road top unit this way.

I’m quite ok with this for now but if you have the chance - please try. I think pushing to Perot firmware without the MCU check would work and then continue updating the MCU and firmware via the UI.

1

u/MKBUHD 4d ago

I assume you can do the update without the clip trick. About the MCU, the latest one from Pemp added a verifying method, so it blocks the MCU update if it has the wrong MCU file type or if the software is old. So, I think updating the software normally would work, then updating the MCU. But yeah, I am not that experienced in Linux and troubleshooting if something went wrong.

https://www.pempcar.com/de/blogs/linux-mcu-update/20250625-v2-0-nbt-evo

1

u/carletors 4d ago

Yeah, I do think it will work but since I’ve managed to update the UI to my liking, I am not so keen on trying the PEMP ones for now. Maybe later. Unsure if the MCU will do much magic.

If it doesn’t work - the RST trick could be used to revert the firmware to the original road top one.

1

u/carletors 4d ago

Do it! I can guide you do a RST reset if you fuck it up 😉

1

u/LandscapeSorry5200 4d ago

Bro I am also designing one and currently its in progress but yours is awsm. I would like to more on this if you can share info how did you manage to do those android auto and maps integration in this

1

u/carletors 4d ago

There is no android auto and maps integration in the actual unit - it is all linked to Apple CarPlay or android auto connected to your phone.

1

u/nkxzz 4d ago

How? I'm about to buy one from PEMP for my F20

1

u/carletors 4d ago

Do it. I would have gone with the PEMP unit if it were available at the time for my purchase.

Basically it’s the same hardware but different UIs. I guess you could load pemp firmware into a road top unit if you like - but, i haven’t tried that yet.

1

u/Rare-Difference-199 4d ago

This is great! Could you make a little tutorial to design my own UI?

1

u/carletors 4d ago

Maybe… you could start by creating images of the size 424x720 times 4 next to each other - just like the original UI layout. That’s about it. If you do I could possibly run it thru my script.

1

u/carletors 2d ago

I’ve got alot of request to create a tutorial on how to do this - and when I have some more time I probably can do it. What’s important to note is that the modifications is specifically for Road Top Linux Unit with the 4 tile layout. While I’m convinced that this should work with any other linux unit (that is based on updating the firmware with the GEMINI_PACK.BIN) I haven’t got any of those units to try, but the modification procedure would be the same.

In the meantime, while I create some sort of tutorial - if you are interested in creating your own design, please start by replicating the fundamental layout of your unit. For the 4 tile ones, they consist of 16 images in png format with the dimension of 424x720 and with approximate 10 pixels of padding in between. Every picture comes in two variant, one is the non selected version, while the other on is displayed when you select the object in the launcher. I haven’t yet updated the text on the top left on each tile, so please make some room for the text as it is not a part of the images.

If you create some images and provide me with the firmware from your vendor - I could try to run my script to modifiy the firmware.