The Tesla Model 3 and Model Y are popular electric vehicles that dispense with some of the usual provisions you’d expect in a typical car. Namely, there’s no dash cluster in front of the driver; instead, all information is solely displayed on the center console screen. [Nick Nguyen] wasn’t a fan of this setup, and decided to hack together a dash cluster of his own.
The CANdash works in a simple fashion, snooping the Tesla’s CAN bus for all the information relevant to the vehicle’s operation. It’s capable of displaying everything from speed to the remaining range in the battery, while also allowing the user to keep an eye on things like coolant temperatures and whether the Tesla Autopilot system is currently available.
The build relies on a CANserver, an ESP32-based device specifically built for hooking up to the CAN bus on Tesla vehicles and sharing the data externally. The data can then be piped wirelessly to an Android phone running CANdash to display all the desired information. With the help of an aftermarket dash clip or a 3D printed custom mount, the phone can then be placed behind the steering wheel to display data in the usual location.
It’s a simple, straightforward hack that gives Tesla owners a useful feature that they’re otherwise missing from the factory. The US automakers cars are proving to be fertile ground for hackers and DIYers, with one man recently saving thousands on a battery swap with a simple mod. Video after the break.
Continue reading “Hacking A Proper Dash Into The Tesla Model 3” →
On Unix — the progenitor of Linux — there was
/bin/sh. It was simple, by comparison to today’s shells, but it allowed you to enter commands and — most importantly — execute lists of commands. In fact, it was a simple programming language that could make decisions, loop, and do other things to allow you to write scripts that were more than just a list of programs to run. However, it wasn’t always the easiest thing to use, so in true Unix fashion, people started writing new shells. In this post, I want to point out a few shells other than the ubiquitous
bash, which is one of the successors to the old
Since the 7th Edition of Unix,
sh was actually the Bourne shell, named after its author, Stephen Bourne. It replaced the older Thompson shell written in 1971. That shell had some resemblance to a modern shell, but wasn’t really set up for scripting. It did have the standard syntax for redirection and piping, though. The PWB shell was also an early contender to replace Thompson, but all of those shells have pretty much disappeared.
You probably use
bash and, honestly, you’ll probably continue to use
bash after reading this post. But there are a few alternatives and for some people, they are worth considering. Also, there are a few special-purpose shells you may very well encounter even if your primary shell is
Continue reading “Linux Fu: Alternative Shells” →
Amazon Dash is a handy service, and when Amazon released their AWS IoT platform, [Brian Carbonette] felt that it left out all the hardware hackers from the tinkering fun. Seeking justice, he put together a guide for an Arduino Dash button aimed at hardware hackers and those who are still easing into the world.
For his build, [Carbonette] used an Arduino MKR1000, laying out a few different configuration options for building your button. He has also gone to great lengths to help all comers tackle the Arduino-Dash API communication process by building an AmazonDRS Arduino Library, which handles all the “boring details,” so you can focus on the hardware. With the warning that the software-side setup is tedious the first time around, [Carbonette] has included a detailed manual for setting up the aforementioned AmazonDRS library, some example code, and a breakdown thereof. He also suggests implementing other features — such as a notification if the item is out of stock on Amazon — to tie the project together.
Continue reading “Dash With Arduino” →
The Amazon Dash button is now in its second hardware revision, and in a talk at the 33rd Chaos Communications Congress, [Hunz] not only tears it apart and illuminates the differences with the first version, but he also manages to reverse engineer it enough to get his own code running. This opens up a whole raft of possibilities that go beyond the simple “intercept the IP traffic” style hacks that we’ve seen.
Just getting into the Dash is a bit of work, so buy two: one to cut apart and locate the parts that you have to avoid next time. Once you get in, everything is tiny! There are a lot of 0201 SMD parts. Hidden underneath a plastic blob (acetone!) is an Atmel ATSAMG55, a 120 MHz ARM Cortex-M4 with FPU, and a beefy CPU all around. There is also a 2.4 GHz radio with a built-in IP stack that handles all the WiFi, with built-in TLS support. Other parts include a boost voltage converter, a BTLE chipset, an LED, a microphone, and some SPI flash.
The strangest part of the device is the sleep mode. The voltage regulator is turned on by user button press and held on using a GPIO pin on the CPU. Once the microcontroller lets go of the power supply, all power is off until the button is pressed again. It’s hard to use any less power when sleeping. Even so, the microcontroller monitors the battery voltage and presumably phones home when it gets low.
Continue reading “33C3: Hunz Deconstructs The Amazon Dash Button” →
We all know feature creep can be a problem in almost any project. A simple idea can often become unusable if a project’s scope isn’t clearly defined in the beginning. However, the opposite problem sometimes presents itself: forgetting to include a key feature. [Zach] had this problem when he built a Raspberry Pi magic mirror and forgot to build a physical reset/shutoff switch. Luckily he had a spare Amazon Dash button and re-purposed it for use with his Pi.
The Raspberry Pi doesn’t include its own on/off switch. Without installing one yourself, the only way to turn off the device (without access to the terminal) is to unplug it, which can easily corrupt data on the SD card. Since [Zach]’s mirror was already complete, he didn’t want to take the entire thing apart just to install a button. There’s already a whole host of applications for the Dash button, so with a little Node.js work on the Raspberry Pi he was able to configure a remote-reset button for his mirror.
This is a similar problem for most Raspberry Pi owners, so if you want to follow [Zach]’s work he has done a great job detailing his process on his project site. If you’re looking for other uses for these convenient network-enabled buttons, he also links to a Github site with lots of other projects. This pizza button is probably our favorite, though.
“It’s not a bomb,” the mailman whispered to himself as he reached for [atxguitarist]’s mailbox, giving a nervous glance at the small black box stuck to the side. “This is THAT house, it’s not a bomb. I’m sure it’s not a bomb,” he muttered as a cold bead of sweat ran down his neck. His hand approached slowly, shakily. The mailman gathered courage, then, in a single quick movement, opened the box. He sighed relief as nothing happened. Somewhere in [atxguitarist]’s house a recording wailed “You’ve got mail!”
The mailbox enhancement in question is a hacked Amazon Dash Button in a project box. When the door of the mailbox is opened, a magnetic reed switch simulates a button press on the Dash. The Dash transmodulates the signal into WiFi pixies which are received by a Raspberry Pi. The Pi’s sole purpose in life is to run a 24-line Python script that plays the famous sound from AOL’s mail software and sends a notification to his phone.
Aside from unnerving the mailman, it’s a cool hack and keeps you from slugging it out there in the cold or rain to witness an empty box.
Continue reading “Make Your Mailman Nervous With A Wifi Enabled Mailbox” →
[Brody Berson] is at it again, but this time he’s hacked the services floating in the aether around him to give him beer on demand. Finally the future we’ve been waiting for.
This hack is not as hacky as his first one, which, at the push of a button, could summon a bad driver straight to his house who would then give him pizza. The first one was done with a modified version of a button used to summon paper towels; because there’s nothing like needing paper towels RIGHT NOW, and then pushing a button to get them a few days later.
Apparently Amazon saw how practically no one was pushing the dish detergent button, but a lot of people were making scary mailboxes and magic pizza apps after ruthlessly scratching the branding off. So they shrugged and decided to sell the buttons as the newly branded (these get more hilarious when you don’t use the acronyms) Amazon, Amazon Web Services Internet of Things Button. Now your button can die along with the internet because Amazon is hosting your Raspberry Pi for a small fee, neat.
Anyway, [Brody] did some research on the best beer delivery services in his area, and went with one called Drizzly because they had a nice API. After integrating this system with Amazon’s, he can now push a button and minutes later, after subtracting some currencies from his account, a bad driver will show up and hand him beer.