Monthly Archives: November 2020

Homemade recycling rig turns plastic waste into new products

via Arduino Blog

While that plastic cup, bag, dish, or other item may have served its purpose, more than likely it could be formed into something new. With this in mind, the SOTOP-Recycling team of Manuel Maeder, Benjamin Krause, and Nadina Maeder developed an automated injection molding machine that can be built at home and is small enough to allow you to run your own recycling operation!

The “Smart Injector” receives shredded pieces of plastic in a small hopper, then transports them down an extrusion pipe where heat is applied. This material is clamped together via a pair of stepper motors, with screws and timing belts implemented to apply sufficient pressure. Everything is controlled by an Arduino Mega.

As shown in the video, the plastic waste is converted into phone covers in just minutes, though other things could also be made depending on the form tooling used.

Vulkan update: we’re conformant!

via Raspberry Pi

Today we have a guest post from Igalia’s Iago Toral, who has spent the past year working on the Mesa graphic driver stack for Raspberry Pi 4.

It’s been nearly a year since we first announced that we were developing a Vulkan driver for the latest generation of Raspberry Pi devices (Raspberry Pi 4, Raspberry Pi 400, and Compute Module 4).

Sascha Willems’ Vulkan radial blur demo

In June we released the source code for our prototype driver, and last month we announced that the driver had been successfully merged to Mesa upstream.

Today we have some very exciting news to share: as of 24 November the V3DV Vulkan Mesa driver for Raspberry Pi 4 has demonstrated Vulkan 1.0 conformance.

Khronos describes the conformance process as a way to ensure that its standards are consistently implemented by multiple vendors, so as to create a reliable platform for application developers. For each standard, Khronos provides a large conformance test suite (CTS) that implementations must pass successfully to be declared conformant; in the case of Vulkan 1.0, the CTS contains over 100,000 tests.

Vulkan 1.0 conformance is a major milestone in bringing Vulkan to Raspberry Pi, but it isn’t the end of the journey. Our team continues to work on all fronts to expand the Vulkan feature set, improve performance, and fix bugs. So stay tuned for future Vulkan updates!

The post Vulkan update: we’re conformant! appeared first on Raspberry Pi.

Our newest robot, 3pi+, is here—Arduino-compatible, USB, encoders, full IMU and more!

via Pololu Blog

I am thrilled to announce the release of our newest robot, the 3pi+! This new platform is a major upgrade from the original 3pi robot we introduced twelve years ago. At 97 mm, the diameter is just 1mm larger than the original, and the general concept of a tiny, fast robot powered by four AAA batteries and two micro metal gearmotors remains the same. However, just about everything has been redesigned from the ground up to add the extra features everyone has been asking for.

First off, the 3pi+ is now a platform that encompasses a range of products, not just one particular robot. This is enabled primarily by the chassis now being an independent structure rather than being a specific circuit board with motors strapped on:

3pi+ Chassis Kit (No Motors or Electronics).

The chassis incorporates the battery holders, motor mounts, and ball caster. An outer bumper skirt is removable and the motors can instead be held in by separate clips (also included in the kit). The left-most picture shows the chassis with motors installed but without the bumper skirt or motor clips, and the next two pictures show the motor clips installed:

Making the chassis separate from any electronics means that you can use it with your own electronics and that we can make various versions with different capabilities and microcontrollers.

3pi+ 32U4

The first full 3pi+ robot we are launching is the 3pi+ 32U4, which is based on an Arduino-compatible ATmega32U4 microcontroller from Microchip (formerly from Atmel). Like the original 3pi, the 3pi+ 32U4 has five integrated downward-looking reflectance sensors, making the robot a great starting point for line following and line-maze events.

The 3pi+ 32U4 offers many major improvements over the original 3pi, including:

  • ATmega32U4 microcontroller with Arduino-compatible bootloader can be programmed directly through a USB connection
  • Quadrature encoders on both motors for closed-loop position and speed control
  • Full 9-axis IMU (three-axis gyro, accelerometer, and compass)
  • Bottom-loading battery holders keep batteries accessible even if additional levels are added
  • Full wrap-around bumper to protect electronics from collisions
  • Two bump sensors on the front

3pi+ 32U4 Robot features, top view.

3pi+ 32U4 Robot features, bottom view.

The 3pi+ 32U4 is also available with three motor options for different usage scenarios:

3pi+ 32U4 Version Products Micro Metal Gearmotor Top Speed Comments
Standard Edition assembled or kit 30:1 MP 6V 1.5 m/s great all-around balance between controllability and speed, with top theoretical speed above that of the original 3pi
Turtle Edition assembled or kit 75:1 LP 6V 0.4 m/s longest battery life, easiest to control, appropriate for swarm robot projects or classrooms where you might not want robots flying around the floor (or desktop) too quickly
Hyper Edition assembled or kit 15:1 HPCB 6V ~4 m/s ridiculous speed, which can definitely be fun. But, controlling that speed can be difficult, which can make the robot more prone to self-destruction (or at least self-inflicted damage), so we recommend this only for advanced users

These three 3pi+ 32U4 motor options are available in assembled or kit form, and for those who want to do your own thing, the parts are available separately so that you can pick some other motor or gear ratio.

Normally we would have an introductory special for this big of a new product release, but since we are about to launch our annual Black Friday and Cyber Monday sale, you can get a great discount on the new 3pi+ there!

Make your own virtual reality 3D Shooter

via Raspberry Pi

In the latest issue of Wireframe magazine, Mark Vanstone shows you how to turn a 3D shooter into a VR game for a variety of viewers, from Google Cardboard to gaming headsets.

Our shooter, now in VR format. Blast aliens from the sky as they fly over the mountains.

Browser development has really matured of late, with a number
of exciting new features coming to the fore. Where WebGL was well supported, the new WebXR (previously WebVR) is now becoming standard
in modern browsers. JavaScript ES5 has now been superseded by ES6, and with these new technologies, making browser-based apps – and specifically 3D games – is now a serious proposition. The other part of VR technology, the hardware, has also evolved – as mobile tech has become more powerful, so have the opportunities for cost-effective VR experiences.

With a mobile phone you can create a stereoscopic display for use with a simple Cardboard viewer.

If you have an old mobile phone, perhaps an Make your own virtual reality 3D Shooter B iPhone 6 or a Samsung S7, you can get a Google Cardboard headset for £6 and turn it into a rudimentary VR viewer. In this article, we’ll show you how to set up a 3D shooter to run not only on that hardware, but also on other viewers such as the Gear VR or Daydream, and even gaming headsets such as the Oculus, HTC, or Valve. All of these have web browsers built in which can support WebXR or a 3D display, and although there are some differences between how they work, the process of displaying a 3D scene is mostly the same on all of them, so we can use the Three.js JavaScript library.

Three different VR headsets on a white background
There’s a wide range of VR viewers and headsets on the market, from Google Cardboard to pricey gaming headsets like the Oculus, HTC, HP, Microsoft, and Valve ranges.

To begin, we’ll start with the Three.js 3D shooter we made in Wireframe #32 – if you missed it, you can download a copy. We’ll use the same models and much of the same code. The first change, though, is to update the code to run as an ES6 module. The non-module version of Three.js is being phased out at the end of 2020, so it’s probably best to get with the times and use the new stuff. As with our earlier shooter, you’ll need to run this code from a secure web server, which, for mobile phones and gaming headsets, will mean uploading it to somewhere suitable, but if you want to see it running, you can play it at technovisual.co.uk/vr.

Basic VR viewers

Now we need to consider the hardware we’re going to use to run our game. Let’s start at our baseline, Google Cardboard, and work up from there. Available from many outlets online (including Google’s store), it’s a cut-out kit, which you fold up to create a viewer.


From a browser window inside a gaming headset environment, you can launch a Three.js VR experience

There are two lenses to look through, two magnets in a recess on the side, and velcro tabs to hold a mobile phone. The magnets on the side serve as a selection mechanism which we’ll explore later.

Next, we have Gear VR-style viewers. There are many different types, priced from around £12 to £40, and these are essentially a better-built plastic version of the Cardboard but with a button on top to act as a selector. Phones of varying sizes can be used, and as long as the device isn’t more than about four years old, it should be up-to-date enough to run the 3D software.

For example, the six-year-old Samsung S5 is capable of displaying VR, but it’s a bit too slow to make the experience pleasant, whereas a five-year-old iPhone 6 is quite capable of displaying simple VR scenes smoothly. (With
iPhones, you may need to switch on Experimental Features in the Safari settings, however.)

Proper pro kit

Gaming headsets are a bit different, since they have a built-in screen in the headset, and – in the case of the Oculus Go and Quest – an Android computer in there as well. Tethered headsets use the power of a connected computer to generate the display, and all of them use a slightly different
Three.js system from the cheaper viewers to generate the 3D display.

As time goes on, it’s likely that more mobile phones will be compatible with
the VR software used by the untethered gaming headsets. Gaming headsets also have sensors that track your movement as well as the tilt of the headset, providing six degrees of freedom.

Get the rest of the tutorial in Wireframe #44

This is just a taste of the comprehensive guide included in the latest issue of Wireframe magazine. If you’re not a subscriber, you can download a PDF copy for free from the Wireframe magazine website. Start at page 50 and work your way through to create your own VR shooter game.

And if you want to take advantage of Wireframe magazine’s latest subscription deal, you can get it for just £10 at the official Raspberry Pi Press online store.

The post Make your own virtual reality 3D Shooter appeared first on Raspberry Pi.

Monitor your heart rate while asleep with ZazHRM

via Arduino Blog

Have you ever wondered what your heart rate looked like when you were catching some Zs? Or perhaps you would like to check up on how someone nearby is sleeping, without actually disturbing that person. The ZazHRM monitoring system by Alan Do lets you do both, with a pulse sensor hooked up to an Arduino Uno, which in turn sends data to an Android phone in almost real-time via Bluetooth.

The receiving device runs an MIT App Inventor routine, which can output alarms if the person under observation’s heart rate goes out of range. Results are also logged for later analysis.

While interesting, Do does note that ZazHRM is not a piece of medical equipment, nor is it intended for medical diagnosis. Code and App Inventor info are available on GitHub.

What’s not to love about this realistic beating heart?

via Arduino Blog

Your heart is an amazing organ, pumping blood through your body and literally keeping you alive. However, building a realistic model of one — as explained in this write-up by Holiday McAllister — can actually be pretty simple.

Here, silicone is poured into a four-inch heart mold to create the structure, partially hollowed out to accommodate a metal gear micro servo.

This little motor rotates back and forth under control of an Arduino Uno, making it appear to pulse up and down on a table. One could see this enhanced in a variety of ways, perhaps with a bit of fake blood for an even more lifelike look, or with inputs to the Arduino for interactive capabilities.