A Low-Power Solution To Streamlining Sensor Data For IoT

For home use IoT systems, getting sensor data from tons of physical locations centralized to a single Raspberry Pi can be a difficult job, especially when considering the power consumption that’s necessary for doing it all over WiFi. When you’re using an ESP8266, for instance, swapping out batteries and accounting for connectivity issues can be a major hassle for a long-term solution. The NoCAN platform, created by [Alain Pannetrat], solves this problem using a wired approach that improves the use of the CAN bus.

Since SPI and I2C only work for short distances, approaches like RS-485 and CAN bus are a better bet for this type of setup. For systems with one centralized point, RS-485 works best – thus, the CAN bus is the better approach when you’re considering using multiple masters in a single environment.

CAN devices typically need a static address, so messaging involves sending data to the known address of the destination device. With NoCAN, a dynamic address assignment scheme allows nodes to request an address from a node manager on boot-up (similar to DHCP). A command line application also allows users to send and receive message from nodes using a pub/sub implementation – a device sends messages to a channel, and every device subscribed to the channel receives the message.

The hardware for the NoCAN platform consists of a Raspberry Pi with a “PiMaster” HAT and an Arduino-compatible CANZERO board. The PiMaster HAT uses an STM32F042 ARM Cortex M0 MCU, acting as an interface between the Pi and the CAN bus as well as preventing over-current events with a software-controlled smart switch. The CANZERO is based on the the SAMD21G18 ARM Cortex M0+ running at 48MHz, similar to the Arduino MKR Zero, with CAN bus networking using the STM32F042 ARM Cortex M0. The double MCU design allows the secondary MCU to reset the primary if it gets stuck due to a programming error, with the messages sent over the CAN bus.

To join the network together, a four-wire cable daisy-chains the nodes in the bus network, providing connectivity for up to 1000 feet. Either 12V or 24V DC power runs through the network, stepping down to 5V or 3.3V at each node. The approach is similar to PoE (power over Ethernet), although it is slower and lower in cost. Overall, it seems like a good solution for environments where wireless connectivity simply doesn’t cut it.

Robot Allows Remote Colleagues To Enjoy Office Shenanigans

[Esther Rietmann] and colleagues built a Telepresence Robot to allow work at home teammates to have a virtual, but physical presence in the office. A telepresence robot is like a tablet mounted on a Roomba, providing motion capability in addition to an audio/video connection. Built during a 48 hour hackathon, it is a bit crude under the hood and misses out on some features, such as a bidirectional video feed. But overall, it pretty much does what is expected from such a device.

The main structure is build from cheap aluminium profiles and sheets. A Raspberry Pi is at the heart of the electronics hardware, with a servo mounted Pi-camera and speaker-microphone pair taking care of video and audio. The two DC motors are driven by H-bridges controlled from the Pi and an idle swivel caster is attached as the third wheel. The whole thing is powered by a power bank. The one important thing missing is an HDMI display which can show a video feed from the remote laptop camera. That may have been due to time constraints, but this feature should not be too difficult to add as a future upgrade. It’s important for both sides to be able to see each other.

The software is built around WebRTC protocol, with the WebRTC Extension from UV4L doing most of the heavy lifting. The UV4L Streaming Server not only provides its own built-in set of web applications and services, but also embeds a general-purpose web server on another port, allowing the user to run and deploy their own custom web apps. This allowed [Esther Rietmann]’s team to build a basic but functional front-end to transmit data from the remote interface for controlling the robot. The remote computer runs a Python control script, running as a system service, to control the drive motors and camera servo.

The team also played with adding basic object, gesture and action recognition features. This was done using PoseNet – a machine learning model, which allows for real-time human pose estimation in the browser using TensorFlowJS – allowing them to demonstrate some pose detection capability. This could be useful as a “follow me” feature for the robot.

Another missing feature, which most other commercial telepresence robots have, is a sensor suite for collusion avoidance, object detection and awareness such as micro switches, IR / ultrasonic detectors, time of flight cameras or LiDAR’s. It would be relatively easy to add one or several sensors to the robot.

If you’d like to build one for yourself, check out their code repository on Github and the videos below.

Continue reading “Robot Allows Remote Colleagues To Enjoy Office Shenanigans”

DIY Video Microscopy

Owning a Microscope is great fun as a hobby in general, but for hackers, it is a particularly useful instrument for assembly and inspection, now that we are building hardware with “grain of sand” sized components in our basements and garages. [voidnill] was given an Eduval 4 microscope by a well-meaning friend during a holiday trip. This model is pretty old, but it’s a Carl Zeiss after all, made in Jena in the erstwhile GDR. Since an optical microscope was of limited use for him, [voidnill] set about digitizing it.

He settled on the Raspberry-Pi route. The Pi and a hard disk were attached directly to the frame of the microscope, and a VGA display connected via a converter. Finally, the Pi camera was jury-rigged to one of the eyepieces using some foam. It’s a quick and dirty hack, and not the best solution, but it works well for [voidnill] since he wanted to keep the original microscope intact.

The standard Pi camera has a wide angle lens. It is designed to capture a large image and converge it on to the small sensor area. Converting it to macro mode is possible, but requires a hack. The lens is removed and ‘flipped over’, and fixed at a distance away from the sensor – usually with the help of an extension tube. This allows the lens to image a very small area and focus it on the (relatively) large sensor. This hack is used in the “OpenFlexure” microscope project, which you can read about in the post we wrote earlier this year or at this updated link. If you want even higher magnification and image quality, OpenFlexure provides a design to mate the camera sensor directly to an RMS threaded microscope objective. Since earlier this year, this open source microscope project has made a lot of progress, and many folks around the world have successfully built their own versions. It offers a lot of customisation options such as basic or high-resolution optics and manual or motorised stages, which makes it a great project to try out.

If the OpenFlexure project proves to be an intimidating build, you can try something easier. Head over to the PublicLab where [partsandcrafts] shows you how to “Build a Basic Microscope with Raspberry Pi”. It borrows from other open source projects but keeps things simpler making it much easier to build.

In the video embed below, [voidnill] gives a brief overview (in German) of his quick hack. If you’ve got some microscope hacks, or have built one of your own, let us know in the comments section.

Continue reading “DIY Video Microscopy”

Recreating Lord Nikon’s Laptop From Hackers

The outlandish computers from 1995’s Hackers are easily one of the most memorable elements of the iconic cult classic. In the film, each machine is customized to reflect the individual hacker that operates it, and feature everything from spray painted camouflage paint schemes to themed boot animations based on the owner’s personal iconography. But what might not be so obvious is that the real-life props took a considerable amount of hardware hacking before they were ready for their big-screen debut.

A group of dedicated Hackers fans have created a website to document, and ideally recreate, all the custom work that went into the various pieces of tech featured in the film. As explained by [Nandemoguy], the group’s latest triumph is a screen-accurate build of Lord Nikon’s laptop. The final product not only looks just like the machine used in the film, but thanks to the internal Raspberry Pi, is far more powerful than the original computer would have been.

Unless you’re on the team over at HackersCurator.com, you might not know that the laptops in the film were handmade chimeras that combined the external cases of various PCs with (usually) the internals of an Apple Powerbook 180c. Why the prop masters of the film would have gone through so much trouble to create the character’s computers is not immediately clear, but if we had to guess, presumably it was due to the requirements of the over-the-top graphical interfaces that are featured so heavily in the film.

At any rate, the replica created by [Nandemoguy] is built in much the same way. At least for the parts you can see on the outside, anyway. He goes through the considerable case modifications required to replace the original keyboard on the Toshiba Satellite T1850 with a Powerbook keyboard, which as you might have guessed, has been converted into a USB HID device with a Teensy microcontroller. He even cuts the ports off the back of the Mac’s motherboard and glues them in place around the backside of the machine. But everything else, including the LCD, is all new hardware. After all, who really wants to go through all that trouble just to have a fancy Powerbook 180c in 2019?

Even if you weren’t a fan of Hackers, the level of detail and effort put into this build it absolutely phenomenal. It’s interesting to see the parallels between this replica and the burgeoning cyberdeck scene; it seems like with a Teensy, a Raspberry Pi, and enough Bondo, anything can be turned into a functional computer.

Continue reading “Recreating Lord Nikon’s Laptop From Hackers

Fortified Feeder For Feral Felines

Most of the commercially-available pet feeders littering the internet are cheaply-made, with wimpy motors and infuriating interfaces. Want to use it outdoors? Good luck. If you need a heavy-duty, outdoor cat feeder, you gotta heat up your soldering iron and do it yourself.

[jplanaux] is under contract to feed a bunch of feral cats that hang around, but he’s often gone for weeks at a time. His two-feeder fail-over system has one weak link, and it’s these commercial feeders — they’re under-powered and just plain unreliable, even after modding them for Raspi control. What he needed was an industrial strength automatic feeder that’s completely customized for his situation.

A simple web interface lets him set up automatic feeding times, or push kibble on demand if customers show up and there’s no food. The system takes pictures of the bowl to verify that food came out and was subsequently eaten. It’s supposed to be racoon-proof, so [jplanaux] can see who or what is chowing down. Aside from that, the feeder is pretty standard, with a large hopper on top of a screw drive that’s driven by a NEMA17. The stepper is relay-driven, so it only uses power when it’s driving the screw.

[jplanaux] has the STL files and code available, and even designed a bowl and base extension for people who want to build one and use it indoors. Nibble at the kibble-sized demo video after the break.

The lion’s share of the auto-feeder builds we chew on around here are designed for dry food. Serving wet food is a much harder problem, but is definitely possible to pull off.

Continue reading “Fortified Feeder For Feral Felines”

Building IoT Devices The Easy Way

Do you have a Raspberry Pi? What is it being used for right now? If you’re like the majority of people who replied to [Michael Hall’s] poll on Twitter, it’s likely yours is sitting on a shelf doing nothing too. So why not just turn it into an IoT device for your home?

[Michael] wrote an easy-to-follow guide focusing on getting the EdgeX Foundry IoT platform running on the Raspberry Pi. It is designed to be a unified multi-platform base for IoT devices hosted by the Linux Foundation, making it easy to control and integrate them into other systems. The framework for this consists of two parts, a Device Service running on your Pi, and the rest of the services running on a desktop or laptop where you’ll be monitoring it.

His guide goes into detail on how to get both parts working on your computer and your Pi using Docker for ease of installation. As for the IoT device, he uses the built-in PIR sensor example to show how to configure it without having to write any programming. You can then monitor the device’s sensors, which you can just connect straight to the Pi’s GPIO pins, from your desktop. Since the EdgeX software is designed to run on any flavor of Linux, this should make it easy to repurpose any forgotten single-board computer into the beginnings of a home automation system.

However, if you are confident in your programming skills, you’re probably looking for something slimmer such as the ESP8266 family of microcontrollers to do your bidding. Why not try an energy monitor or a smoke detector project with them?

Dip Your Toes In The Open Water Of Raspipool

If you’re lucky enough to have a swimming pool, well, you may not feel all that lucky. Pools are great to have on a hot summer day, but keeping them crystal clear and pH-balanced is a deep dive into tedium. Sure, there are existing systems out there. They cost a kiddie pool of cash and are usually limited to particular pool parts. Existing DIY solutions are almost as bad, and so [segalion] is making waves with a dumb, brand-agnostic pool automation system called Raspipool.

Sensors for pH, ORP, and temperature are immersed in pool water flowing through a bypass pipe that runs between the filter and the pump. The basic plan is to control the pumps and sensors with a web-enabled Raspberry Pi, and have the Pi send action and threshold notifications straight to [segalion]’s poolside lounge chair. Each piece is dedicated to a single task, which allows for easy customization and future expansion.

[segalion] is trying to get more people involved so that Raspipool can keep really make a splash. Be sure to check out the project wiki and let him know if you can help or have suggestions.

We’re glad [segalion] is building from the ground up, and doesn’t have to dive into some pre-existing mess of an automation system.