FreeRTOS Gets Class

[Michael Becker] has been using FreeRTOS for about seven years. He decided to start adding some features and has a very interesting C++ class wrapper for the OS available.

Real Time Operating Systems (RTOS) add functionality for single-thread microcontrollers to run multiple programs at the same time without threatening the firmware developer’s sanity. This project adds C++ to the rest of the FreeRTOS benefits. We know that people have strong feelings one way or the other about using C++ in embedded systems. However, as the 24 demo projects illustrate, it is possible.

One nice thing about the library is that it is carefully documented. A large number of examples don’t hurt either. The library is clean with just under 30 classes. It seems to have resisted the trend of having classes for everything. You know the kind of library we mean. To create an Integer object, just build a configuration object to pass to the class factory generator which…. This library doesn’t entertain any of that. It has simple abstractions around threads and timers, queues, and mutexes.

Continue reading “FreeRTOS Gets Class”

A Grenade Launcher Named RAMBO

Always one to push the envelope, U.S. Army researchers from the U.S. Army Armament Research, Development and Engineering Center (ARDEC) have been successfully experimenting with 3D printing for one of their latest technologies. The result? RAMBO — Rapid Additively Manufactured Ballistic Ordinance — a 40mm grenade launcher. Fitting name, no?

Virtually the entire gun was produced using additive manufacturing while some components — ie: the barrel and receiver — were produced via direct metal laser sintering (DMLS). So, 3D printed rounds fired from a 3D printed launcher with the only conventionally manufactured components being springs and fasteners, all within a six month development time.

Continue reading “A Grenade Launcher Named RAMBO”

BrickerBot Takes Down your IoT Devices Permanently

There is a new class of virii in town, specifically targeting Internet of Things (IoT) devices. BrickerBot and its variants do exactly as their name says, turning your smart devices into bricks. Someone out there has gotten tired of all the IoT security flaws and has undertaken extreme (and illegal) measures to fix the problem. Some of the early reports have come in from a security company called Radware, who isolated two variants of the virii in their honeypots.

In a nutshell, BrickerBot gains access to insecure Linux-based systems by using brute force. It tries to telnet in using common default root username/password pairs. Once inside it uses shell commands (often provided by BusyBox) to write random data to any mounted drives. It’s as easy as

dd if=/dev/urandom of=/dev/sda1

With the secondary storage wiped, the device is effectively useless. There is already a name for this: a Permanent Denial-of-Service (PDoS) attack.

Now any card carrying Hackaday reader will know that a system taken down like this can be recovered by re-flashing through USB, JTAG, SD, other methods. However, we’re not BrickerBot’s intended audience. We’ve all changed our devices default passwords, right? RIGHT?

For more IoT security, check out Elliot’s excellent article about botnets earlier this year, and its follow-up.

Hackaday Prize Entry: An Electric Longboard

The Hackaday Prize is in full swing, and that means we’re starting to see all the builds a few select people have been saving up for the past few months. [yowhwui] has been working on a 3D printed electric longboard for a while now, and this build is really solid. He already has over 150km on the odometer, and the 3D printed parts are still holding up.

The power for this motor comes from a 6374 brushless motor running at 192 kV. This, plus two 4S 30C 5000mAh LiPo batteries propel this longboard to speeds up to 42 km/h (2.18 Saxon leagues per quarter hour), all while weighing about 8kg.

Since [yowhwui] is using the motor for power and braking (electric motors are neat), this longboard needs to be designed with belt skipping in mind. To that end, he’s designed a drive system with an idler, and nearly every single part is 3D printed. The first revision of the hardware was printed in PETG. While PETG was more than strong enough, it was also too brittle. This led to a few cracks. After printing the parts out again in ABS, [yowhwui] put a few more kilometers on this longboard, and there are no immediate signs of wear.

$8 3D Printed Photo Turntable uses Upcycled Parts

Whether you’re selling a product or just showing off your latest project, a photo turntable makes video shots a lot easier.  360° turntables allow the viewer to see every side of the object being photographed, while the camera stays locked down. Motorized turntables are available as commercial products costing anywhere from $30 to $150 or so. Rather than shell out cash, [NotionSunday] decided to create his own turntable using a few parts he had on hand and 3D printing everything else.

The motor for the turntable came from the eject mechanism of an old DVD-ROM drive. An Arduino Pro Mini controls the motor’s speed using an MX1508 H-bridge chip. Power comes from an 18650 Li-Ion battery. The whole assembly spins on the head assembly from a VCR.

Before you jump in on the comments, yes, VCR heads have motors. However, they’re typically brushless motors rated for 1,800 RPM. Running a motor like that at low-speed would mean rewinding the coils. In this case, using a DC motor and gear drive was the easier option.

[NotionSunday] 3D printed the turntable base and mount. The mount uses a magnet arrangement that makes it easy to switch between freewheeling or belt driven operation. The turntable itself is posterboard, with 3D printed edges.

Click through the break to see the whole video.

Continue reading “$8 3D Printed Photo Turntable uses Upcycled Parts”

Everyone Loves Faster ESP8266 TFT Libs

Reader [Jasper] writes in with glowing praise for the TFT_eSPI library for the ESP8266 and the various cheap 480×320 TFT displays (ILI9341, ILI9163, ST7735, S6D02A1, etc.) that support SPI mode. It’s a drop-in replacement for the Adafruit GFX and driver libraries, so you don’t need to rework your code to take advantage of it. If you’re looking to drive an LCD screen with an ESP8266 and Arduino, check this out for sure.

As a testbed, [Jasper] ported his Tick Tock Timer project over to the new library. He got a sevenfold increase in draw speed, going from 500 ms to 76 ms. That’s the difference between a refresh that’s visibly slow, and one that looks like it happens instantly. Sweet.

Improving software infrastructure isn’t one of the sexiest or most visible hacks, but it can touch the lives of many hackers. How many projects have we featured with an ESP8266 and a screen? Thanks, [Bodmer] for the good work, and [Jasper] for bringing it to our attention.

PUFFER: A Smartphone-Sized Planetary Explorer

Is there room on Mars and Europa for cute robots? [NASA] — collaborating with [UC Berkley] and [Distant Focus Corporation] — have the answer: PUFFER, a robot inspired by origami.

PUFFER — which stands for Pop-Up Flat-Folding Explorer Robot — is able to sense objects and adjust its profile accordingly by ‘folding’ itself into a smaller size to fit itself into nooks and crannies. It was designed so multiple PUFFERs could reside inside a larger craft and then be deployed to scout otherwise inaccessible terrain. Caves, lava tubes and shaded rock overhangs that could shelter organic material are prime candidates for exploration. The groups of PUFFERs will send the collected info back to the mother ship to be relayed to mother Earth.

We’ve embedded the video of the bot folding it’s wheels down to pass a low-bridge. You can get a view of the wider scope of functionality for the collection of demos on the project page.

Continue reading “PUFFER: A Smartphone-Sized Planetary Explorer”