Homemade Subaru Head Unit Is Hidden Masterpiece

The Subaru BRZ (also produced for Toyota as the GT86) is a snappy sportster but [megahercas6]’s old US version had many navigation and entertainment system features which weren’t useful or wouldn’t work in his native Lithuania. He could have swapped out the built in screen for a large 4G Android tablet/phone, but there’s limited adventure in that. Instead, he went ahead and built his own homemade Navigation system by designing and integrating a whole bunch of hardware modules resulting in one “hack” of an upgrade.

The system is built around a Lenovo 4G phone-tablet running android and supporting GPS, GLONASS as well as the Chinese BeiDou satellite navigation systems. He removed the original daughter board handling the USB OTG connection on the tablet, and replaced it with his version so he could connect it to his external USB board via a flat ribbon cable. The USB board contains a Cypress 4-port USB hub. One port is used as the USB HID device to allow external buttons for system control — Power, Volume Up/Down, Fwd/Rev, Play/Pause, and Phone Answer/Hangup. The second port is used as a regular USB input to allow connecting external devices such as flash drives. The third one goes to a reversing camera while the fourth port goes to a USB DAC.

The USB DAC is another hardware board by itself and also includes a Bluetooth module which integrates his phone’s audio and control functions with the on-board system. There’s also an audio mixer which allows him to use the phone audio without having to miss out on the navigation prompts from the tablet. Both boards also contain several peripheral circuits such as amplifiers and DC power supplies. Audio to the speakers is routed through six LM3886 based power amplifier boards. And the GPS module receives its own special low-noise amplifier board to ensure extremely strong reception at all times. That’s a total of ten boards custom built for this project. He’s also managed to source all the original harness connectors so his system is literally a snap in replacement. The final assembly looks pretty dashing.

For some strange reason, the Lenovo tablet uses 4.35V as the ‘fully charged” value for its LiPo instead of the more common 4.20V, so even with the whole system connected to a hefty 12V lead acid battery from which he’s deriving the 4.20V charging voltage for the tablet, it still complains about “low battery” — and he’s looking for advice on how he can resolve that issue short of blowing up the LiPo by using the higher charge voltage. Besides that, he’s (obviously a kickass) hardware designer and a little bit rusty on the software and programming side of things, for which he’s looking for inputs from the community. His introductory video is almost 30 minutes long, but the shorter demo video after the break shows the system after installation in his car. He’s posted all of his Altium hardware source files on the project page, but until he shares PDF versions, it would be difficult for most of us to look at his work.

30 thoughts on “Homemade Subaru Head Unit Is Hidden Masterpiece

  1. 4.35v terminal voltage implies the newer tech (silicon?) anodes. If the pack is specced for 4.35v then you need to give it 4.35v to show fully charged; there are charger ICs which will do this – eg many LT ones have programmable float.

    Obviously, NEVER do this with a 4.2v conventional battery.

      1. Again, this is not a problem. than you have 4.2V voltage on battery. this is 80-90% of charge, So even if i have 4.2V, it can say, battery depleted, and it will force you to shut down and will not going o turn the tablet on.

        But if i disconnect battery, and reconnect, it says it is nearly charged. This is because smart BMS.

    1. As an FYI – this new chemistry has basically been standard in phones/tablets for 3-4 years now.

      It’s a bit disappointing that the HAD editors didn’t see 4.35v and immediately recognize the new chemistry (which is very common nowadays) and instead spread the fear/doubt/implication that Lenovo’s devices are fundamentally unsafe by overcharging their batteries.

    1. I think this is almost a consumer unit ready for production it has everything. Someone in the automotive industry needs too give this guy a job, Because this is probably the best in car computer systems I’ve seen.

  2. Really impressive stuff… I love the ideas hes ben doing here. Something I would like to do for my mums BMW Z3… if i ever can…

    But I must admit. Why not take it a step further?

    You used a lenveno android tablet. Why not use a higher powered Pi with android on it (Or something like that)? That way youll have better control on the power system and you could have retrofitted it into the old head unit?

    I like twiddly knobs :p

    1. The Lenovo tablet already has everything he needed, especially the relatively high resolution widescreen display, which rather difficult to do with a RPi…
      And running it out the HDMI through some Chinese HDMI to LVDS converter is barbarism, these things are incredibly power hungry and dump a fair bit of heat… RPi really needs to allow a selection of several MIPI displays…

      1. The Pi already allows for quite a range of MIPI displays via the GPIO->MIPI interfaces doesn’t it? Sure – the DSI interface is really only for the Pi Foundation display – but the MIPI stuff (as used by Adafruit for their TFT Kippah) is more widespread. Not sure what the max resolution is though – suspect 1920x1080ish?

  3. Hello every One.
    Even if I charge batery by using terminals with 4.35V, it will say low battery ant will make unstopable shutdown. And if i disconnect battrry from tablet ant reconect it. It will start to indicate full change. This is because Smart charger. I must bypass it somehow…

    1. Why not just leave the stock battery in and power the unit through the USB port with a buck converter? It will keep the tablet’s own battery charged, and give you a backup in case you ever need to disconnect the vehicle battery.

      1. Constant charging and you get a swelling battery in a couple months, if you dont notice, them you have a car on fire..

        Why dont you teardown the battery, and feed the battery terminals from a buck regulator set to something like 4.1v?
        Or is it like a laptop battery with a BQ25xxx like a laptop?

        1. Because USB OTG is supplying current. You can’t charge while you have audio Running. I have a mode that charges Battery, but in that mode no audio or backup camera.

          Also, it uses Bluetooth module to act as hands free system. It suffers horrible echo to called, because mic is picking speekrs.

      2. ^ This. Be sure to get a buck converter able to provide enough amps.

        In the past I’ve encountered a problem with a tablet connected 24/7 that was not able to charge its battery. Had to do this:

        Settings > Display & lights > Brightness level > middle (or low)
        Settings > Performance > Processor > CPU Governor > powersave
        Settings > Performance > Processor > Set on boot (on)

        Check if your android kernel comes with force_fast_charge support. I didn’t watch the whole video, but if the tablet is connected to a computer or other non-charger thing, then it may not suck more than 500mA from the USB port. If your kernel do have support, enable the fast charge mode.

        The project was to resurrect a Bitcoin ATM:

    2. Rework the charging/BMS logic in the kernel?

      Some devices have the BMS on the host side, some have it in the pack itself – so my guess is that in this Lenovo tablet the BMS is in the pack and the kernel decides that a device with no BMS is “dead battery”.

  4. It is saying low battery because the “Fuel gauge” IC inside the battery is at 0Ah.

    In other words the tablet maybe thinking the battery has already blown up!

    If the battery hasn’t been told by the SMBUS host that it is charging, it ignores the current flowing through its current detection resistor and thus doesn’t show as charged and continues to presume it is discharging.

    Also 4.35V (Technically 4.25 to 4.36 based on age determined by the safety IC, IC+Firmware dependent) is the modern chemistry where the battery can run longer but has a shorter overall service life.

    Even the older Li-ION batteries could take 4.3 and the newer versions of the metal-cased 18650 size cells can (Sometimes) handle up to 4.5v with MASSIVE safety and lifespan issues (hence only charged to 4.3-ish volts).


    You have read a comment from someone who gives his boss at work a regular heart attack when I’m casually balance charges cells and wires them together using a constant-current constant-voltage bench PSU.

    1. It is charged directly to battery terminals, not via BMS system. That why even if it looks at current flow, it simply can’t detect it. Same goes if i try to put power near battery connector, it does not charge system. So i am stuck here, i need to bypass this system in Android OS somehow, but i am not a linux programmer/hacker.

      I Have extensive protection system for this tablet charging, it has multiple voltage detectors with clamping ability if it goes to high, and also will cut any current flow into battery itself.

      1. Hmmmm.

        Thought: Replace the battery with 5v super-capacitors in parallel?
        Then charge that?
        Though it depends on your application.

        4.2v is about 85% SOC whereas 3.2v (4.3v ) and 2.8v (4.2v) is the flat battery state (Chemistry dependent.) and thus is better storage state for the battery (Will keep longer in service, especially around 60-75% SOC)

        Do you have any high resolution close-up photos (Macros) of the mainboard with the shielding of?

        Hopefully where the part numbers of the chipsets can be read if possible. (Presuming you have a DSLR or a decent point-n-shoot camera)

        1. What intergrated processing unit make and model does your tablet PC contain?

          BTW, same in the ARM SBC arena: The manufacturer makes a disposable to sell to joe public and halts support leaving the comunity to pick up from where the Co left off. But, by then the community has moved onto something else and thus makes many tablet PCs ONLY worthy as landfill.

          If possible, like Kali on the Nexus 5/7/10, they could be reused as a USB keyboard/mouse. Sounds like a wonderful afterlife for a tablet PC.

          The main problem is the kernel messages are sent to a UART that normally isn’t accessible in the tablet PCs instead of the screen. There is no KEXEC support on most tablets and the parts needed for a successful kernel build are android specific binary blobs that would require too much wrapper code for anyone to bother coding up just for some redundant device.

          Bear in mind this coment is mostly: IMHO

        2. You would need a huge supercap to match the battery ampere hours, about 20 times the dimensions. Capacitors are molecular springs, and do not have a constant voltage – the voltage declines in a non-linear manner as charge is used, with about half only accessible with a voltage boost circuit to get the final amount, some of which you can never get.

          1. Like said: “Though it depends on your application.”

            So having enough F for say 10% of the battery capacity to… Well… Shutdown the tablet PC in its own time would use a lot less capacitors as opposed to trying to match the battery capacity.

            Also Li-ION is a non-linear discharge: The full SOC and discharged SOC curves are just that: Curves relative to voltage at a constant current (Exaggerates when the cells age BTW)

            Then again, if the designer is trying to have in-car entertainment without draining the starter battery during a long film (Parking for the night before going to the place of plan) then capacitors are not useful.

            Oh and to answer a possible, “Who parks up in the middle of nowhere to watch a film for the night in a car?”:

            Family outing when I was young, went to wales in the middle of nowhere to visit a family member. No hotels near by, long journey, night time, too early to sleep. So watched a film on a VCR hooked to an inverter through one of those “in-car entertainment” screens.

  5. I love Subaru – they still have the same shitty clock on the dashboard as I had in my Forrester 12 years ago :) You have to love them for the continuity :)
    Great build, though – I had something similar in my mind, but I did not opt to actually do it.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.