Putting The Magic Smoke Back In A Cooked Scooter

When [Vitor Melon] found out there was a custom firmware (CFW) available for his Xiaomi Mijia M365 Pro electric scooter that would increase his top end speed, naturally he installed it. Who wouldn’t want a little more performance out their hardware? But while the new firmware got the scooter running even better than stock, he does have a cautionary tale for anyone who might decide to ride their Mijia a bit harder than the fine folks at Xiaomi may have intended.

Now to be clear, [Vitor] does not blame the CFW for the fact that he cooked the control board of his Mijia. At least, not technically. There was nothing necessarily wrong with the new code or the capabilities it unlocked, but when combined with his particular riding style, it simply pushed the system over the edge. The failure seems to have been triggered by his penchant for using the strongest possible regenerative breaking settings on the scooter combined with a considerably higher than expected velocity attained during a downhill run. Turns out that big 40 flashing on the display wasn’t his speed, but an error code indicating an overheat condition. Oops.

Results of the PCB repair.

After a long and embarrassing walk home with his scooter, complete with a passerby laughing at him, [Vitor] opened the case and quickly identified the problem. Not only had the some of the MOSFETs failed, but a trace on the PCB had been badly burned through. Judging by the discoloration elsewhere on the board, it looks like a few of its friends were about to join in the self-immolation protest as well.

After a brief consultation with his graybeard father, [Vitor] replaced the dead transistors with higher rated versions and then turned his attention to the damaged traces. A bit of wire and a generous helping of solder got the main rail back in one piece, and he touched up the areas where the PCB had blackened for good measure.

A quick test confirmed the relatively simple repairs got the scooter up and running, but how was he going to prevent it from happening again? Reinstalling the original firmware with its more conservative governor was clearly no longer an option after he’d tasted such dizzying speeds, so instead he needed to find out some way to keep the controller cooler. The answer ended up being to attach the MOSFETs to the controller’s aluminum enclosure using thermal pads. This allows them to dissipate far more heat, and should keep a similar failure from happening again. You might be wondering why the MOSFETs weren’t already mounted this way, but unfortunately only Xiaomi can explain that one.

With their rapidly rising popularity hackers have been coming up with more and more elaborate modifications for electric scooters, and thanks to their wide availability on the second hand market, it’s likely the best is still yet to come when it comes to these affordable vehicles.

Keep Cool With This Open Source AVR Fan Controller

We’ve all got projects kicking around that we haven’t had time to document for our own purposes, let alone expose to the blinding light of the Internet. There are only so many hours in a day, and let’s face it, building the thing is a lot more fun than taking pictures of it. It took [Matthew Millman] the better part of a decade to combine everything he’s learned over the years to finally document the definitive version of his open source intelligent fan controller, but looking at the final result, we’re glad he did.

At the heart of this board is an ATmega328P, but don’t call it an Arduino. [Matthew] makes it very clear that if you want to hack around with the code for this project, you’re going to need to not only have a programmer for said chip, but know your way around AVR-GCC. He’s provided pre-built binaries for those content to run with the default settings, but you’ve still got to get it flashed onto the chip yourself. The project is designed to use the common DS18B20 temperature sensor, and as an added bonus, the firmware can even check if yours is a bootleg (spoilers: there’s an excellent chance it is).

Arguably the most interesting feature of this fan controller is its command line interface. Just plug into the serial port on the board, open your terminal emulator, and you’ll have access to a concise set of functions for querying the sensors as well as setting temperature thresholds and RPM ranges for the fans. There’s even a built-in “help” function should you forget a command or the appropriate syntax.

Originally [Matthew] developed this project as a way to control multiple fans inside of a PC case, but naturally, things have changed quite a bit since those early days. While today there’s no shortage of fancy controllers that can handle throttling an array of fans based on the internal temperature of your rig, there’s still something to be said for rolling your own solution. More importantly, there’s certainly other potential uses for a fully open source programmable fan controller.

Raspberry Pi Hitches A Ride In A 1989 BMW Dashboard

It probably won’t surprise you to find out that a 1989 BMW 325i doesn’t have much in the way of electronic gadgetry onboard. In fact, what passes for an in-dash “computer” in this vintage Beemer is just a digital clock with a rudimentary calendar function. Not content to waste his precious dashboard space any longer, [Ryan Henderson] used his time in quarantine to replace the clock module with a Raspberry Pi.

Nestled in a custom laser-cut housing is a touch screen LCD module that connects directly to the GPIO header of a Pi Zero. Combined with some Python code, this provides a very slick multipurpose interface for pretty much anything [Ryan] wants. Right now he’s got it hooked up to a GPS receiver so he can figure out things like speed and acceleration, but the only real limit on what this little drop-in upgrade can do is how much code you want to sit down and write.

Thankfully, it sounds like [Ryan] has done a lot of the hard work for you. He’s put together a Python library that allows the user to easily draw analog gauges on the screen. The faces are parametrically sized, and even have custom minimum/maximum marks. Of course if you’d rather just throw some text and images on the screen, that’s accomplished easily enough with existing libraries such as PyGame.

[Ryan] says he’s also working on some code to better integrate the Pi into the vehicle’s systems by way of a Bluetooth OBD2 adapter. In the most basic application that would allow you to throw various bits of engine data up on the screen, but on more modern cars, you could potentially tap into the CAN bus and bend it to your will.

While the physical size and shape of this particular modification is clearly focused on this model and year of BMW, the general concepts could be applied to any car on the road. [Ryan] has recently started a GitHub repository for the project and hopes to connect with others who are interested in adding a little modern complexity convenience to their classic rides.

The reality is that cars become more dependent on their onboard computers with each passing year. Already we’re seeing Tesla owners struggle with cooked flash chips, and things are likely to get worse before they get any better. While undoubtedly there are some that would rather keep their daily driver as simplistic as possible, we’re encouraged by projects like this that at least let owners computerize their cars on their own terms.

NRF52 Weather Station Gives Forecast With Style

We’re no strangers to DIY environmental monitors around these parts, in fact, it seems like that’s one of the most common projects hackers take on when confronted with the power of a modern Internet-connected microcontroller. But among such projects, this miniature nRF52-based weather station built by [Andrew Lamchenko] is among the most polished we’ve seen.

Externally, this looks as though it could easily be a commercial product. The graphical interface on the ePaper display is very well designed, delivering plenty of data while still looking attractive enough to hang in the kitchen. The enclosure is 3D printed, but [Andrew] poured enough elbow grease into sanding and polishing the front that you might not realize it at first glance.

Internally it uses the popular BME280 sensor to detect temperature, humidity, and barometric pressure, though the custom PCB is also compatible with the similar SI7021 and HTU21D sensors if you want to switch things up.

That said, you really want the ability to measure pressure, as it allows the firmware to do its own basic weather forecasting. All the collected data is beamed out over Bluetooth Low Energy (BLE), where it can be collected by the open source MySensors IoT framework, but we imagine it wouldn’t take much work to integrate it into your home automation system of choice.

As excited as we might be about the prospect of repurposing things such as electronic shelf labels, we’re happy to see the prices for general purpose electronic paper screens finally dropping to the point where projects of this caliber are within the means of the hacker crowd.

Continue reading “NRF52 Weather Station Gives Forecast With Style”

Roomba Gets Alexa Support With An ESP8266 Stowaway

The modern home is filled with plenty of “smart” devices, but unfortunately, they don’t always speak the same language. The coffee maker and the TV might both be able to talk to your phone through their respective apps, but that doesn’t necessarily mean the two appliances can work together to better coordinate your morning routine. Which is a shame, since if more of these devices could communicate with each other, we’d be a lot closer to living that Jetsons life we were promised.

Luckily, as hardware hackers we can help get our devices better acquainted with one another. A recent post by [MyHomeThings] shows how the ESP8266 can bridge the gap between a Roomba and Amazon’s Alexa assistant. This not only allows you to cheaply and easily add voice control to the robotic vacuum, but makes it compatible with the Amazon’s popular home automation framework. This makes it possible to chain devices together into complex conditional routines, such as turning off the lights and activating the vacuum at a certain time each night.

The hack depends on the so-called Roomba Open Interface, a seven pin Mini-DIN connector that can be accessed by partially disassembling the bot. This connector provides power from the Roomba’s onboard batteries as well as a two-way serial communications bus to the controller.

By connecting a MP1584EN DC-DC converter and ESP8266 to this connector, it’s possible to send commands directly to the hardware. Add a little glue code to combine this capability with a library that emulates a Belkin Wemo device, and now Alexa is able to stop and start the robot at will.

We’ve seen this sort of trick used a few times before to add backdoor Alexa support to various gadgets, and it’s always interesting to see what kind of unusual hardware folks are looking to make an integral part of their smart home.

Teardown: Go Warmer USB Rechargeable Hand Heater

Under normal circumstances, if an electronic gadget in your pocket suddenly became hot to the touch, it would be cause for alarm. But not so with the Go Warmer. This lozenge shaped device is not only a USB power bank that can keep your mobile devices topped up, but is also doubles as a miniature heater that the manufacturer claims can bring its surface temperature up to 48 °C (120 °F) for several hours. You can hold in in your hand, put it in your pocket, maybe even sit on it if you’re particularly daring. The possibilities are endless, at least until the 4,000 mAh battery runs down.

For $14.99 USD, the Go Warmer certainly isn’t much of a deal when compared to other battery packs. Even if it does come with a swanky velveteen carrying pouch. But is it a good deal for one that can heat itself up without exploding? Let’s crack this metallic egg and find out.

Continue reading “Teardown: Go Warmer USB Rechargeable Hand Heater”

Explore The Cosmos With This DIY Digital Telescope

Getting a closer look at the Moon isn’t particularly difficult; even an absolute beginner can point a cheap telescope towards our nearest celestial neighbor and get some impressive views. But if you’re looking to explore a bit farther, and especially if you want to photograph what you find out there amongst the black, things can get complicated (and expensive) pretty quick.

While building this 3D printed automated telescope designed [Greg Holloway] isn’t necessarily cheap, especially once you factor in what your time is worth, the final product certainly looks to be considerably streamlined compared to most of what’s available in the commercial space. Rather than having to lug around a separate telescope, tripod, motorized tracker, and camera, you just need this relatively compact all-in-one unit.

It’s taken [Greg] six months to develop his miniature observatory, and it shows. The CAD work is phenomenal, as is the documentation in general. Even if you’re not interested in peering into the heavens, perusing the Instructables page for this project is well worth your time. From his tips on designing for 3D printing to information about selecting the appropriate lens and getting it mated to the Raspberry Pi HQ Camera, there’s a little something for everyone.

Of course if you are looking to build your own motorized “GOTO” telescope, then this is must-read stuff. [Greg] has really done his homework, and the project is a fantastic source of information about motor controllers, wiring, hand controllers, and the open source firmware you need to tie it all together. Many of the ideas he’s outlined here could be applicable to other telescope projects, or really, anything that needs to be accurately pointed to the sky. If you’d like to get started with night sky photography and aren’t picky about what kind of things you capture, we’ve seen a number of projects that simply point a camera towards the stars and wait for something to happen.

[Thanks to Eugene for the tip.]