Hacking a Car’s LCD Screen to Quote Reddit
Harin De Mel drives the geekiest 2012 Hyundai Genesis Coupe in town…
The Canadian mechanical engineering student hacked the dashboard display screen in his car, so it’s now displaying funny quotes from Reddit. Specifically, it’s displaying those weird “Shower Thoughts” — the headlines from Reddit’s forum for the brilliant one-off insights that pop into your head at random moments.
“What if dogs play fetch because they think you like throwing the ball?”
“There exists a set of finite actions that, if I performed them in the correct order, would make me a millionaire in a day. I just don’t know what they are.”
“I have no programming experience other than a few Arduino projects around the house,” De Mel wrote in a blog post, “so my code is definitely not optimal.” But within one month, he’d already finished the project, and shared its Python code on GitHub. “Hopefully, this will at least give you some kind of starting point for your own project, and you will be able to see the underlying process for making this work.”
And there is something truly inspiring about a man who dares to tinker with the software in his $20,000 Hyundai, just to make its dashboard show funny quotes from Reddit.
“There should be confetti in tires so when there is a blowout it’s still kind of an okay day.”
“Chinese alphabet soup must be crazy.”
Harin’s strong do-it-yourself vibe extended to his choice of hardware, since he replaced the circuitry controlling the display’s LCD screen with a cheap programmable Arduino board, and then connected it to a second cheap Raspberry Pi board for pulling down the text from Reddit. He wasn’t sure that just one board could handle both tasks, since somewhere inside of his car “there are hundreds of messages flying on this network every second. I decided it would be better to use a Raspberry Pi with an MCP2515 to transmit to the LCD screen and then have it use an Arduino connected to an MCP2515 as a receiving node…”
Luckily, all the digital devices in his 2012 Hyundai Genesis Coupe were connected using a fairly common standard — the “Controller Area Network bus” (or CAN bus). So Harin grabbed one of his Arduino’s — plus a cheap SPI CANBUS circuit board — and just started doing some experiments. When he first installed his Arduino circuit board into the dashboard, the LCD began showing the time of day — every ten milliseconds — and any new messages that he sent to the screen were simply being wiped out when the system re-transmitted. But Harin had already built up a strong motivation to keep moving forward, according to a recent write-up in Make: magazine, because “I hated that stupid little blue LCD. It would just sit there staring at me brightly with the words ‘AUX’…”
So he re-routed the LCD’s input. And fortunately, Harin’s other Raspberry Pi board could accommodate a WiFi dongle. By using an iPhone for connectivity, it was now able to draw down the funny Reddit quotes. And Make: also reported that his next project may be to install a router directly into his car.
Maybe once you start tinkering, it’s hard to stop.
Harin’s even mounted his Nexus 7 Android tablet into his car’s dashboard and is using it to play music. In the comments on his blog, he talks about one day transmitting the “now playing” information from the tablet to the LCD. Somewhere in the mix, there’s even an SQL database. “My main script retrieves the top post from Shower Thoughts and converts the characters to their hexadecimal equivalents, adds the message ID and row identifier, and stores it in an SQL database.”
There’re two more scripts just for retrieving the quote from the database and display it on the screen, which Harin says will be building blocks for more features down the road. “Eventually, I’ll be able to screen the messages intended for the LCD on the primary [CAN bus] network and add the ones I want to keep to the SQL database while removing the ones I don’t need anymore.”
But perhaps the most inspiring part of this project is that judging by Harin’s blog posts; he only worked on it on-and-off for over a month. “I’m a full-time student with a full-time job,” Harin wrote, “so I don’t get to tinker as much as I’d like to.”
Now instead of seeing the external temperature on his display, he sees bits of mind-blowing amateur philosophy. But maybe it goes to show you that if you’re going someplace strange, your journey there can be just as unpredictable. According to his blog post, the screen was originally intended for displaying song information (title and artist) for Sirius XM.
Because of this, the Reddit quotes were originally preceded by a musical note, and one screenshot makes it look like he’d been listening to a song titled “Being a cop must be awful…”
- IBM announces $5 million “Watson AI XPrize” competition.
- Amazon warehouses see “huge” improvement in shipping speeds — thanks to their new orange robot workers.
- Mattel releases a new “Game Developer Barbie” doll — and it sells out within a week.
- A returned home-security camera accidentally spies on the new buyer.
- Mark Zuckerberg, suspected lizard person, predictably denies being a lizard person.