This page is about a project I’m running to create a monitoring device that connects to our Toyota Prius CAN bus to pickup show additional systems parameters. Based on a Beaglebone Black Rev.C, the devices uses a 4.3 inch LCD cape with touch and my own design of a CAN interface.
The LCD cape from 4D systems with a size of 4.3 inch and 480*272 pixel resolution fits nicely the for my purpose. Not to small to degrade readability, but also not to big so it can be easily integrated somewhere in the dashboard.
Unfortunately the LCD cape requires some hardware and software modifications to run in parallel with the Beaglebones CAN1 interface. The LCD cape is equipped with 5 user button where the ENTER button is unfortunately connected to the Beaglebones GPIO pin 24 on P9 that is shared with CAN1 RX. So the button signal need to be disconnected to use CAN or, like I did, wired to another GPIO pin not in use. For that purpose I run a jump wire from the ENTER button to pin 25 of the GPIO connector P9.
Here is a top tip: While modifying the LCD take this chance to re-solder all the pins on both GPIO headers. I stripped one off the board when I pulled the Beaglebone main board from the LCD. Luckily all pads and traces stayed on the LCD board.
Since we have modified the cape, the Beaglebones cape manager needs to know that, also that we want to use CAN so the interface must be enabled and firmware loaded. Hence the device tree firmware in the LCD cape eeprom needs to be modified too. The eeprom IC is located below the LCD glass and not easily accessible and, of course, write protected by default.
Fortunatly 4D systems has provided two pads on the backside of the LCD. These must be short to disable the eeprom write protection.
The LCD cape hardware modification is done. Dealing with software will be described later on. Next is the CAN interface.