Projects with Raspberry Pi, Arduino, etc.

Given that there’s lots of people with a STEM/techie bent on here, I think that there are probably some among you who’ve realized some interesting projects using the various cheap single-board computers, like Raspberry Pi in its various iterations, Arduino, and so on. If so, I’d like for this thread to be a place to share and discuss them, as well as give advice to others interested in getting started/pursuing their own projects.

Me, I’m a relative newbie when it comes to this sort of thing. The first (and so far, only) project of mine was building a to-do planner, based on this video. It’s a Waveshare 7.5 inch two-color e-ink display in a cheap Ikea frame, in which also a Pi Zero W is mounted. The Pi runs a python script that queries my google calendar, my todoist account, openweathermap.org for weather data and the local transport company for departure data at the nearest station. On the left pane, the date and the next five calendar entries are displayed, the right pane shows the next to-dos, and the weather- and departure-data in the footer. See here for the front view, and here for how the Pi (with the Waveshare-HAT) is set in the back. It checks for update to the to-do data and the calendar every five minutes, updates if there’s new stuff, and does a general update (screen refresh with new data) every fifteen.

For my next [del]trick[/del] project, I’d like to use something with a bit more oomph than the Pi Zero to build myself a combination el cheapo NAS/media center. I’m thinking about using a Pi 4 together with two external drives in a RAID 1-configuration for redundancy, then running KODI on that and connecting it to my not-terribly-smart TV. I haven’t really been looking into this in-depth as of yet, but I basically want the capabilities to watch Netflix, Prime Video, YouTube as well as view media files from the attached drive and possibly other network locations. If anybody has realized something like this, I’d appreciate any pointers—I’m in particular not yet sure which distribution to use. Do I just stay with regular Raspbian? Many seem to use LibreELEC, but I’m not sure if that’s appropriate for the NAS-role I also want this thing to fulfill. I’ve also seen OSMC recommended, but I’m not familiar with whether this will be adequate for my needs.

So, what are you building/what have you built? What are you planning to make? What obstacles did you encounter, what useful tips and tricks have you discovered that you want to share?

I built an ADS-B receiver http://stratux.me/ (I have the previous case)-- I’ve used it at home but not in the air (since my club has a Sentry)

I occasionally think about getting another Pi and/or Adruino, but uness I have a specific project for it will just be clutter.
(I have thought about a retro pi0

Brian

Here’s one that I wish somebody would build and sell (not me, as I dabbled years ago but no longer have the passion to devote to this particular corner of the tech world):

I want a little black box with a GPS receiver, and I want it to output an accurate timecode that I can record with an ordinary data logger along with the other signals I’m recording.

An example timecode would be a TTL line that transitions up once per second on the beginning of the second, and transitions down either 400, 500, or 600 ms into the second. The 400 and 600 would represent ones and zeros in a digital representation of the time for the most recent mark, and the 500 would represent the mark, which would also be used for syncing to the timecode when postprocessing the recorded signals.

Another example timecode would be what is transmitted on WWVB, a 60 KHz carrier transmitted from Fort Collins, Colorado (and elsewhere I think).

Or, even more exciting, the box could have several pins simultaneously outputting several timecodes, so I could choose one or another or various combinations depending on what I’m doing. There could be, for instance, analog sine waves of frequencies like 100, 10, 1, 0.1, and 1/60 Hz, and they’d all peak on the second transition. There could be a pin outputting an unstrobed LED compatible timecode suited for amateur astronomers who like to video occultations so they could get a faint light dot into their video field which would improve the timing over the current ways it’s done.

The reason I have wanted this is I do scientific study of large machine systems where I sometimes make measurements scattered too far apart to work well wired to a single data logger, and I wish I had timestamp accuracy better than a second, and it’s difficult to get this. But the idea occurred to me when I was playing with Arduinos and it still seems like something I’d buy.

I have a Seeburg 1000 Background Music System machine, basically a fancy record player that plays a stack of 25 special records over and over, with old-school background music.

The project has gone in several phases…
First, I got it running–it’s playing right now. Then I figured out how to get it run smoothly.
I replaced the old electrical stuff with new wiring.
Yesterday I added a bluetooth extender, so I can listen to it a few hundred feet away on a bluetooth speaker.

When I get some days off next week I will go to the fancy lumber yard nearby and get some cool wood to make a spiffy base for the thing (currently I’m running the nekkid machine without its enclosure, still a solid object at about 35 pounds).

But…

I have a dream of setting up a Raspberry Pi as an Internet radio station using Icecast. It would take the signal coming out of the device and broadcast it on a static IP address as streaming radio.
The next step will be to have some kind of simple interface accessible from the Internet where I can close a relay/MOSFET/whatever on demand. This will allow me to hit the “reject” switch remotely, a necessary feature of these turntables when they get stuck on a skipping record.

We built a teapot monitor at work. The electric kettle has a ring of blue lights that shine while it’s boiling, so using a tiny RPi Zero, with camera, stuck to a shelf above the kettle, we filtered a range of blue frequencies and noted changes in the pixel count. That let us send a message to a Slack channel when the pot started or stopped. Then our admin got a new pot (without the ring of lights) and threw out the old one. :frowning:

Now we’re working on a robot chess table. It’s slow going, but we’re getting there.

My first Raspberry Pi project is still my favorite.
I have a 4K TV that I wanted to use as a digital picture display.
I use the Pi to turn the TV on and off (using the bitchin’ LIRC), pick a photo at random, and display it for four hours. The Pi can (just barely) display 4K at 24 Hz.
The program is a Python script. Originally, the photos were stored on a network server, but I later moved them to a USB drive.
I have integrated the iPhone Blynk app into the Python script so I can do some rudimentary control of the system.

Oh, and - the same Pi runs HomeBridge and Z-wave Smart Home, so that I can use Siri to control my lights.

I built start clocks for a few R/C boat clubs based on an Arduino. I didn’t do the programming, but I did all of the hardware. Basically these are reclaimed gas station LED price signs, and I designed and built the BCD-to-7-segment driver boards, and someone else wrote the Arduino sketch to run them.

it's 101-level stuff if you're skilled in electrical/electronics, but I'm a mechanical engineer and this stuff is a black art to me ;)

This!

I have no issues whatsoever with milling or turning parts on the lathe for my Seeburg 1000, but everything from the phono preamp out has been a learning experience. Someday I’ll have my Raspberry Pi project running!

Raspi projects:

  • ADS-B receiver
  • A tabletop jeopardy-style trivia game with led momentary switch buttons that light up.

Arduino:

  • A battery powered car that starts when a light sensor drops below a certain threshold and stops when it reaches a predetermined point. This was a class project demo showing how to use an Arduino Uno, relay switch, and several sensors.

I recently bought an Inland 37 in 1 sensor kit, so I’m trying to think of some cool things to do with them.

That’s basically the reason I haven’t done more, and haven’t done any home automation so far—I need a problem to solve to justify the time and energy spent (both to myself and to my wife…). That’s why the planner was such a good first project—I’m not the most organized person in the world, so I could more easily plead my case. Plus, my wife always used to leave post-it notes all over, which we’ve now all but gotten rid off.

That sounds interesting! How do you read the current configuration, and how do you move the pieces?

So how does that work, exactly? Does it ask you questions from a repository? How do you answer?

Oh, something like that is a longterm goal of mine—I want to build something like a primitive skroderider, basically a houseplant on wheels that’s able to follow the sun, do some obstacle avoidance and so on.

I’ve also been dipping my toes into machine learning a little, building some simple neural networks in python, and learning some TensorFlow. I’d like to find a project where I could apply this sort of thing—I’ve been thinking about something like gesture recognition, perhaps controlling the TV with it…

I’m going to have to follow this thread. Just a few weeks ago I bought two Raspberry Pis (to be used as pi holes, but still, I have them) and an Arduino Uno along with some associated bits and pieces (breadboards, ICs, resistors, transistors etc) to play with. I’ve been meaning to do it for a while and finally decided to start tinkering.
The problem is, I’m not sure what to do with any of them yet.
I’m playing around with some of the basic tutorials, make an LED blink, make a motor spin… But most of the beginning projects (a nightlight, an 'intruder alarm) remind me the exact same things I used to do with this, as a kid.

I don’t use Arduinos, although I do use the (crappy) development environment to program ESP-8266’s and ESP-32’s.
I do most of my micro controller projects with Silicon Laboratories parts. One of my most useful projects is a remote bell that lets us know when the washing machine is done.
We have a two-story house, and can’t hear the washing machine when it finishes it’s cycle. Out of sight, out of mind - so the laundry was sitting there for hours sometimes, when we got busy. I watched the indicator lights on the machine, and determined that the “Spin” light came on and stayed on at the end of a cycle. I taped a photocell over the light, and then wrote some code that looks at the state of the light. It resets if the light cycles, which it does when you start a new load. Once the light stays on for a specific amount of time, it activates a cheap remote doorbell transmitter, which sends a signal to the receiver in the kitchen upstairs. It re-sends the signal every 5 minutes until reset.

Jesus, you guys are hardcore. I’m planning my first Raspberry Pi project to be, essentially, a media server.

Same here. I was planning to get one so I can use it to watch both streaming films and films off my hard drive, plus play a bunch of roms and emulators. I’m lame.

The first task I gave my first Pi (2+) was a Kodi MC (actually OpenElec). Even with paying to unlock a codec it was just barely able to run some videos.

I imagine with the 4 things are a whole lot better. OTOH, there’s forking forking all over the place with these *Elec and such variants.

And setting up an infrared remote was a nightmare. Editing horribly designed XML files and trying to copy stuff from IR code dumps, c’mon. Strangely the easiest part was stripping an IR detector from an junk thing, figuring out its pins, adding wires and connectors and plugging into the right pins on the header.

What’s the advantage of going with OpenElec and the like, vs. just installing Kodi on Raspbian? Seems to me the former brings a few limitations, like not being able to (as easily) install additional programs, but the advantages I’ve seen so far were mostly unspecific remarks about simpler configuration.

I’m planning to, for a start, just use the android app as a remote, and see whether I like that.

Remote controlled flipdot display with games, etc.

I didn’t build the display itself, but I did build the drive system. It uses an Arduino with a Bluetooth->serial converter, as well an an RS-485 output converter. I communicate with it by a custom Android app I wrote.

Nixie tube clock

I built a custom circuit board for this one. The digits are controlled via I2C interface, which itself is driven by a Raspberry Pi Zero W. It’s connected to WiFi so it syncs the time automatically.

At one point I made it voice controlled via Alexa, but that stopped working and I haven’t gone back to figure out why.

“NibblerPoop” Litterbox Twitter notifier
Construction details

This one’s been down for a couple of years due to various events, but basically I used an Arduino to sense the weight of my cat’s litterbox via load cells. I then had a script running on a Raspberry Pi to generate amusing tweets based on the readings. Generally speaking, it reported Nibbler’s current weight and the weight of her “deposits.” It could also sense certain false alarms, such as when she visited the box but didn’t leave anything, or if she halfway walked in but changed her mind.

Funny you should open this thread, just last night I was wondering whether to release or not a project I did with Arduino last year. It’s a time lapse camera panner for GoPro type cameras, the thing that makes it different to the gazillion + 1 camera panners is that besides controlling the time and angle of rotation I added a cubic Bezier curve function to control the acceleration, which is pretty neat if you ask me. It has a small OLED screen where the curve can be adjusted and time and angles set.
It works well enough but it’s not as smooth as I had hoped for, it uses a cute little Nema 9 stepper motor with a worm gear to rotate the camera, but there is some play in the mechanism and it makes little jumps every now and then.
The other problem is that solving the cubic Bezier equation on the fly to calculate the step interval is a bit too much for an Arduino Nano and it can’t keep up if the time lapse is too short (i.e. the time it takes to calculate the time interval between motor steps is longer than what the interval should be), that’s one of the reasons I never shared the project anywhere, on the other hand it could be a good starting point for anyone who would like to improve on the idea.
My plan for it is to some day change from an Arduino to a faster ESP type microcontroller to solve the computational limitations and go from stepper motor with gearing to a direct drive brushless motor.

I’ve only done one project with Raspberry Pi, but it was pretty big, as in 75 RPs big, plus 75 cameras; with a friend we built a full body 3D scanner, although my part was the hardware and my friend did the software, it worked pretty well for a first try, here’s a test I did where I scanned myself and then used motion capture data to animate the avatar.

At the moment, as part of a big personal project, I’m working (or at least I’d say is actively in the “To Do” list) on developing an Arduino based, proof of concept, Steer-By-Wire system with thrust vectoring… which as usual for me starts with “I have no idea how I’m going to do this” and then fun comes from figuring out the how to. For the time being I’m going to try magnetic encoders and brushed DC motors to both do the steering and the position/force feedback on the wheel, which I think should be relatively simple (I’ll should check back on this six months from now to get a chuckle out of my optimism)

Try a Teensy 4.0. $20, Arduino compatible, but a whopping 600 MHz and a real FPU.

That’s a lot of gerbils in a small package, I was thinking of trying an ESP32 type microcontroller, very small and integrated WiFi and Bluetooth which is great for the application and also at least three or four times cheaper.