Menu
andipanda.dev

CaRadio v2: How a Power Management Problem Changed the Project's Concept

The first version of CaRadio, based on Raspberry Pi, had been used in my Volkswagen Golf Plus for quite some time. Overall, the head unit did its job, but there were still several issues I had never fully resolved.

One of the main challenges was power management.

Unlike conventional car head units, Raspberry Pi does not have a proper sleep or hibernation mode. After the ignition is turned off, the device can shut down safely, but the next time it is powered on, it has to go through the entire boot process again.

I spent a long time thinking about how to manage power properly, ensure a safe shutdown, and avoid waiting too long for the head unit to start.

I considered various solutions, but each of them made the overall design more complicated in one way or another.

Changing the Approach

At the same time, I was working on CaRaBack and CaRadioGui.

It was during the development of these projects that I realized there was no longer any need to tie the entire system to a particular single-board computer.

By splitting responsibilities between separate components, the device running the user interface no longer had to be a Raspberry Pi.

This significantly expanded the range of possible hardware platforms.

Another experiment provided additional motivation. I managed to install Linux on an ordinary Android TV box and successfully run Klipper on it to control a 3D printer.

This experience demonstrated that inexpensive devices originally designed for completely different purposes could be successfully reused in custom projects.

That was when I started looking for an alternative to Raspberry Pi.

Not Just Power Management

Power management was not the only weakness of the first CaRadio version.

There was also its appearance.

The screen had not been installed particularly well. It did not blend into the car's interior very nicely, and I never got around to making the adapter frame I had planned to 3D print.

I also wanted a slightly larger display with better brightness and contrast.

As a result, continuing the project would have meant addressing several tasks at once:

  • implementing proper power management;
  • choosing a new hardware platform;
  • replacing the display;
  • making a mounting bracket and adapter frame;
  • dealing with the connections to the vehicle's electronics.

At some point, a perfectly reasonable question came to mind: why build all of this from separate components when I could try using an existing device?

The Idea of Using an Android Head Unit

I started researching inexpensive aftermarket car head units designed to replace factory-installed systems.

At first glance, this might seem like a strange decision. After all, CaRadio was originally intended to be a DIY car head unit, and now I was considering buying a ready-made one.

However, I was not particularly interested in Android itself or the preinstalled software. What interested me was the hardware.

For a relatively small amount of money, I could get several essential components at once:

  • a display of a suitable size;
  • a built-in audio amplifier;
  • a power management system;
  • a ready-made housing suitable for installation in the car;
  • support for front and rear cameras.

Essentially, all that remained was to find a device with a suitable processor and determine how freely its hardware capabilities could be used.

Choosing the Vordon VW-910S

After researching numerous options, I settled on the Vordon VW-910S.

One of the deciding factors was information about its processor, which, according to the descriptions I found, supported sleep mode. There were also indications that installing Linux might be possible.

It was this combination of capabilities that made the head unit particularly interesting.

I hoped to get a ready-made hardware platform capable of running my own software without having to design all the electronics from scratch.

At the same time, the device addressed several problems with the first version of CaRadio: power management, the display, and the audio amplifier.

Another advantage was built-in support for front and rear cameras. Although I already had a hardware solution for connecting cameras to the Raspberry Pi version, the corresponding software functionality still needed to be implemented.

With a ready-made head unit, this functionality was already provided by the manufacturer.

As a result, I purchased the Vordon VW-910S for further experimentation.

A New Concept for CaRadio

At this point, it became clear that my approach to developing a custom car head unit had changed.

Previously, CaRadio was a system built around Raspberry Pi, with all the necessary peripherals connected to it.

Now the idea was different.

Instead of building the entire hardware platform from scratch, I could use an existing car head unit as a foundation and replace or extend its factory software with my own.

Meanwhile, the development of CaRaBack and CaRadioGui had already demonstrated that individual system functions could be distributed across different devices without tying the project to a single hardware platform.

In this way, the search for a solution to the power management problem unexpectedly led to much more significant changes.

And that is how the story of CaRadio v2 began.

In the following articles, I will explain what was actually inside the head unit I purchased, what capabilities I managed to discover, and what challenges I encountered while trying to turn a ready-made Android device into the foundation of my own project.