Does your pet get distressed when you’re not home? Or, perhaps their good behaviour slips when you’re not around and they cause a ruckus for the neighbours. Well, [jenfoxbot] has just such a dog, so she built a ‘bark back’ IoT pet monitor to keep an eye on him while she’s out.
The brains and backbone of the pet monitor is the ever-popular Raspberry Pi 3. A Sparkfun MEMS microphone breakout board listens for any unruly behaviour, with an MCP3002 analog to digital converter chip reading the mic input. Some trial-and-error coding allowed her to set a noise threshold that — once exceeded — will trigger an audio file, shushing her dog. It also logs events and uploads any status updates to a CloudMQTT server to be monitored while away from home. Her Imgur build album can be found here, and the GitHub project page is here if you want to build your own!
Check out the demo video after the break, that was probably confusing for her good dog, Marley.
Smart Christmas trees may soon come to mean something more than a fashionably decorated tree. Forging ahead with this new definition, [Ayan Pahwa], with help from [Akshay Kumar], [Anshul Katta], and [Abhishek Maurya] turned their office’s Christmas Tree into an IoT device you can watch live!
As an IoT device, the tree relies on the ever-popular ESP8266 NodeMCU — activated and controlled by Alexa, as well as from a web page. The LEDs for the tree — and the offline-only tree-topper controlled by an Arduino Pro Mini — are the similarly popular Neopixels.
For those viewing online, a Raspberry Pi and camera have been attached to this project to check out the tree’s lighting. To make that possible, [Pahwa] had to enlist the use of ngrok to make the Pi’s –normally — LAN-only camera server accessible over the internet. The aforementioned web page was coded in Javascript/CSS and hosted on a server running an instance of Ubuntu 16.04.
Early in November we took a look at a one of the best Raspberry Pi laptops we had ever seen, using the shell of a Sony VAIO. Laptops used to be hulking beasts, and that played into [Frank Adams’] hands as he got rid of the motherboard and had enough space to replace it with a Raspberry Pi and a few other support boards. This took advantage of the laptop’s screen, keyboard, LEDs, etc. But what’s a laptop without battery power? [Frank] hadn’t cracked that nut until now.
Adding battery power is trickier that it sounds, but [Frank] managed to get the Raspberry Pi to talk to the original Sony VAIO internal battery. His work on the project is shared, but this part of the story is best found starting on page 29 of his PDF project details.
Using the original battery is a good move since it’s designed to fit and has a charger ready to interface with the port on the laptop case. But these batteries have logic inside them, and there’s the rub. Communications use the 2-wire System Management Bus (SMBus) which is well documented. But the when trying to use the Pi’s I2C [Frank] couldn’t figure out to send a repeated start command.
He ended up writing his own C program that bit-bangs the communications he needed and now has the Pi speaking to the battery and listening to what it hears coming back. Reading through his description of this is fun since he includes his observations from a logic analyzer captures. He suspects an occasional bad read is due to Linux interrupting code execution. He watches for and catches these bad reads in software and can now reliably read all the battery vitals.
The hack leaves him with a system that functions in much the same way the original computer did: plug it in and it charges. He did add some hardware that lets him take a voltage reading from the battery using an ADC on the Teensy that was already present to control the keyboard and case LEDs. This adds a small constant draw on the battery, but for now he doesn’t leave the battery connected when the laptop is not in use.
If you’d like to read our original coverage of this laptop, here it is.
Although we tend to think of 3D printers as high-tech toys, most of them are not especially powerful in the brain department. There are some exceptions, but most 3D printers run on either an 8-bit Arduino or some Arduino variant with a lot of I/O. There are a few 32-bit boards, but if you grab a random 3D printer, its brain is going to be an 8-bit AVR running something like Marlin or Repetier. It isn’t uncommon to see a Raspberry Pi connected to a printer, too, but — again, in general — it is a network interface that handles sending G-code to the 8-bit controller that runs the stepper motors. Would it make more sense to do things like parse G-code, map out curves, and set accelerations in the relatively powerful Raspberry Pi and relegate the 8-bit AVR to just commanding motors and heaters? [KevinOConnor] thinks so, and he wrote Klipper to prove it.
Klipper is mostly written in Python and it does most of the functions of traditional 3D printing firmware. It communicates with the onboard microprocessor by providing a schedule of when to do what tasks. The microprocessor then handles the timing and things like motion control for the axes and extruder. Klipper can control multiple microprocessors with no trouble and keeps them in synchronization, so you could have a processor for your extruder and one for each stepper, for example. You can use Klipper with a Cartesian machine, a delta, or a Core XY-style printer.
Most of us would probably like to have an arcade cabinet at home, but it’s hard to justify the space they take up. Sure it’s an awesome conversation starter when friends are over, and you might even play it regularly, but at some point you’ll look over at the corner and realize there’s probably something more practical you could be doing with that particular section of the room.
Perhaps the solution is to just make a smaller one. You could do one at half scale, or even desktop sized. But why stop there? Why not make one so small that you could put the thing in a drawer when you don’t need it? While it might be more of an academic experiment than a practical entertainment device, [RedPixel] has managed to create just such an easily concealable arcade cabinet out of a Pi Zero and laser cut wood. At only 83 mm high, this may well be the smallest functional arcade cabinet ever made (at least for now).
All of the cabinet parts were drawn in Inkscape and cut out of 3 mm plywood. The buttons and joystick are wired directly to the Pi Zero’s GPIO pins and configured with Adafruit-retrogame. The display is a SPI ILI9163, which [RedPixel] previously documented on his site.
The Pi is running the ever-popular RetroPie, which allows this tiny arcade cabinet to emulate 1000’s of console and arcade games, assuming you can deal with the controls anyway. While [RedPixel] has uploaded a video of his lilliputian cabinet running an emulator, there’s no video of him actually playing the thing. While we don’t doubt that it functions as advertised, gameplay on such a tiny array of inputs must be very difficult.
Instructables user [Osprey22] has been building towards this Christmas for years. Why? This year, he has brought an impressive musical Christmas light display inside, and at a fraction of the cost too!
An box at the tree’s base hides the power supply and the controller boards — a Raspberry Pi and a SanDevices e682 Pixel controller for the 400 WS2811 RGB LEDs — with an added router to connect them to the main network. The Pi is running Falcon Pi Player and a projector somewhere in the region of $100 complements the light show.
As far as mapping out the LEDs, Xlights is the program of choice, locating the LEDs in space with the help of a cell phone video recording. [Osprey22] had to write a quick program in C to fix the LED overlaps in the grid. (A spreadsheet would work just as well, here). Oh, and the gifts at the bottom of the tree double as a projector screen!
For this year’s office holiday party, [Gavan Fantom] wanted to do something really special. Coworkers were messing with LEDs to come up with displays and decorations, but they lack that old-school feel of mechanical displays. He wanted to create something that had retro look of moving elements, but didn’t want to just recreate the traditional flip mechanism we’ve all seen over and over.
What [Gavan] came up with is breathtakingly impractical 8×8 display that sounds as cool as it looks. Each “pixel” in the display is a 3D printed screw mechanism rotated by a hobby servo. As the pixel is rotated in its case, it becomes progressively more visible to the observer. The opacity of the pixel can even be adjusted by varying the degree of rotation, allowing for rudimentary display of grayscale images.
Each element in the display is made up of seven 3D printed parts and two nails, which the mechanism slides on to move forward and backward. An 8×8 display needs 64 elements, which means the entire display needs 64 servos, 128 nails, and a whopping 448 3D-printed parts. Even with two printers attacking the production in parallel, the printing alone took over two weeks to complete.
The display is powered by a Raspberry Pi and three “Mini Maestro” controllers which can each handle 24 servos. [Gavan] found some sample code in Python to pass commands to the Maestro servo controllers, which he used as a template when writing his own software. The Python script opens image files, converts them to grayscale, and then maps the value of each pixel to rotation of the corresponding servo. He says the software is a little rough and that there’s still some calibration to be done, but we think the results are phenomenal so far.