PySpectrometer version 2, showing mini spectroscope, 4 inch display and hand for scale

Pi-based Spectrometer Gets An Upgrade

Here at Hackaday, we love to see projects re-visited and updated after we’ve covered them on the site. It’s always exciting to see what the creators come up with next, and this Pi-Based Spectrometer project is a great example of that.

[LesWright] found himself with a problem when the new version of Raspberry Pi operating system was released (Bullseye), and it broke some functionality on his original software. Rather than just fix the issues, [Les] chose to rewrite the software more dramatically and has ended up with a much more capable spectrometer that is able to match professional devices costing many times more.

Screenshot of Waterfall Display for PySpectrometer 2
Screenshot of Waterfall Display for PySpectrometer 2

By using multi-wavelength calibration and polynomial regression data, the new version is much more accurate and can now resolve wavelengths down to +/- 1nm.

The whole project is now written in OpenCV, and there’s a nifty new waterfall spectrum display, that will show changes in measured spectra over time.

A low-cost benchtop spectroscope is coupled to a RaspberryPi Camera via a CCTV zoom lens and the whole setup is mounted to a small block of aluminium for thermal and mechanical stability. The spectroscope is pointed at a fluorescent lamp and the user is guided through a calibration routine to tune the software to the hardware.

We’re impressed with the precision [Les] has achieved with his builds, and the write-up is sufficiently detailed to allow others to follow in his footsteps. We’d love to see if readers build one themselves, and what they use them for!

If you want to read up on the original build, you can find our article here. We’ve covered several spectrometry projects in the past, including this Gamma-Ray Spectrometer and this one based around an STM32 Nucleo board. Continue reading “Pi-based Spectrometer Gets An Upgrade”

Mini Mars Rover Runs On Pi Pico W

NASA’s Mars Rovers are robots that have inspired many budding engineers around the world. [Nikodem Bartnik] had a particular fondness for them himself, and set out to build a miniature version of his very own.

The Raspberry Pi Pico W is the brains of the operation, serving as both microcontroller and remote wireless link for control. The robot uses four mecanum wheels for locomotion, with each getting its own motor. This allows the robot to move in all directions simply by rotating the wheels in different configurations. On top, the rover sports a articulated robot arm controlled by servos, which allows it to pick things up and put them down. Plus, there’s an FPV camera on top that delivers a video feed so the robot can be driven remotely. This is achieved over WiFi, thanks to a bit of custom control code written in Python.

It’s a surprisingly capable bot on smooth surfaces, as the mecanum wheels allow strafing and other movements that regular wheels simply can’t do. It’s also fun having a bot that can interact with its environment, thanks to its motorized appendages.

Continue reading “Mini Mars Rover Runs On Pi Pico W”

The WiFi Pumpkin Is The WiFi Pineapple We Have At Home

While networking was once all about the Cat 5 cables and hubs and routers, now most of us connect regularly in a wireless manner. Just like regular networks, wireless networks need auditing, and [Brains933] decided to whip up a tool for just that, nicknaming it the PumpkinPI_3.

The build is inspired by the WiFi Pineapple, which is a popular commercial pentesting tool. It runs the WiFi Pumpkin framework which allows the user to run a variety of attacks on a given wireless network. Among other features, it can act as a rogue access point, run man-in-the-middle attacks, and even spoof Windows updates if so desired.

In this case, [Brains933] grabbed a Raspberry Pi Zero W to run the framework. It was stuffed in a case with a Alfa Network AWUS036NHA wireless card due to its ability to run in monitoring mode — a capability required by some of the more advanced tools. It runs on a rechargeable LiPo battery for portability, and can be fitted with a small screen for ease of operation.

It should prove to be a useful tool for investigating wireless security on the go. Alternatively, you can go even leaner, running attacks off an ESP32.

Continue reading “The WiFi Pumpkin Is The WiFi Pineapple We Have At Home”

ARM Programming By Example

The ARM processor is popping up everywhere. From Raspberry Pis, to phones, to Blue Pill Arduino-like boards, you don’t have to go far to find an ARM processor these days. If you program in C, you probably don’t care much or even think about it. But do you know ARM assembly language? Well, if you look at it one way, it can’t be too hard. The CPU only has about 30 distinct operations — that’s why it is called RISC. Of course, sometimes fewer instructions actually make things more difficult. But you can get a great starting tutorial with the 21 programs on the ARM Assembly by Example website.

You need a 32-bit ARMv6 or better — so Raspberry Pi will work here. The compiler, of course, is gcc and all the associated tools. if you have the right hardware, there are sections on using the floating point unit and the NEON co-processor, too.

Continue reading “ARM Programming By Example”

A Raspberry Pi Phone For The Modern Era

While it might seem like mobile phones are special devices, both in their ease of use and in their ubiquity in the modern culture, they are essentially nothing more than small form-factor computers with an extra radio and a few specific pieces of software to run. In theory, as long as you can find that software (and you pay for a service plan of some sort) you can get any computer to work as a phone. So naturally, the Raspberry Pi was turned into one.

[asherdundas], the phone’s creator, actually found a prior build based around the Raspberry Pi before starting this one. The problem was that it was built nearly a decade ago, and hadn’t been updated since. This build brings some modernization to the antiquated Pi phone, and starts with a 3D printed case. It also houses a touchscreen and a GSM antenna to connect to the cell network. With some other odds and ends, like a speaker and microphone, plus a battery and the software to tie it all together, a modern functional Raspberry Pi phone was created, with some extra details available on the project page.

The phone has the expected features — including calling, texting, and even a camera. A small WiFi USB dongle allows it to connect to the Internet too, allowing it to do all of the internet browsing a modern smartphone might want to do. The only thing that it might be pretty difficult to do is install Android apps, and although there are ways to get Android apps working in Linux, it’s not always strictly necessary to have this functionality.

3d printed fish feeder system with food basin, electronic housing with red button on top and servo attached on the side. A pile of food is coming out of the 3D printed fish feeder mechanism. In the middle of the picture is a can of goldfish pellet food. On the right is a hand interacting with a propped up cell phone, setting a time.

Sleep Easy With The Fishes Well Fed

Sometimes daily tasks, like feeding pets, can feel like a real chore. To help with alleviate the mundane aspects of daily life, [Erik Berglund] has created an automatic fish feeder, complete with 3D print files, firmware, and an Android app for complete control over scheduling and feeding.

The mechanics of the fish feeder include a screw conveyor system that pushes the food pellets fed from a food store basin. The screw conveyor is driven by a Feetech FS5106R servo which provides enough force to overcome jamming that might occur with pellets getting stuck in the conveyor system. [Erik Berglund] writes that the system can dispense about 0.9 g/s and that it’s designed for granulated food, as flakes have problems because “their low density and large surface area tend to get them stuck in the throat of the hopper” — an issue that we’ve looked into previously.

[Erik Berglund] used [coberdas]’s fish feeder as the base, upgrading it with a better servo, adding a Raspberry Pi Zero W along with software for the Pi and an Android application to control the schedule of feedings. There’s also a DS1307 real time clock module to keep precision time and a push button for “manual” feeding. If you’re looking to follow along at home, you can find the Python scripts that run on the Pi and the source code for the Android application in their respective GitHub repositories.

Continue reading “Sleep Easy With The Fishes Well Fed”

An e-ink screen mounted on a small white box is flanked by four mechanical keyboard switches. A power cable is routed from the device to a power bank that is mostly out of frame.

DIY E-Reader Has Hot Swap Mechanical Keys

In the early days of e-readers, most devices had physical buttons to turn pages and otherwise navigate the device. [bwkrayb] longed for these halcyon days before touchscreen e-readers and improved on the concept by adding mechanical keyswitches.

By using an Adafruit NeoKey 1×4 as the keyboard interface, the e-reader has four hot-swappable keyboard sockets with built-in LEDs. [bwkrayb] is hoping to use these LEDs to implement a front lighting system in a future revision of the hardware.

The 3.7″ screen displays pages after running an EPUB through ebooklib and Beautiful Soup to generate files that can be used by the Waveshare drivers. Refresh time is reportedly slow, although [bwkrayb] suspects thisĀ  might be due more to the limited power of the Raspberry Pi Zero 2 more than the display itself.

If you want to see some other open e-reader projects we’ve covered, check out the EPub-Inkplate or the Open Book Project.