Adding IceZero To The Raspberry Pi

[Kevinhub] noticed there were quite a few FPGA hats for the Raspberry Pi. Instead going out and buying one of these boards like a filthy commoner, he decided to spin up his own FPGA Pi accessory. This IceZero FPGA board combines the best features from other FPiGA boards, and does it in a form factor that fits right on top of the minuscule Pi Zero.

If you think slapping a Lattice FPGA onto a Pi has been done before, you’re right. Here’s a hat for the Pi using an iCE5LP4K-SG48, an FPGA with 3520 LUTs. The CAT Board from Xess has a slightly bigger FPGA with 7680 logic cells, and the FleaOhm has a monster FPGA on board that costs about $70 USD.

[Kevin]’s IceZero is at the lower end of these Raspberry Pi FPGA hats, using a Lattice ICE40HX4K. That’s only 3520 logic cells, but it only costs about $7 USD in quantity one. The board design is a standard two layer board that shouldn’t be too terrible for hand soldering. The boards are shared on OSH Park, should you want to test this little guy out.

This Pi Hat is specifically designed to be used with Project IceStorm, the Open toolchain for Lattice’s iCE40 FPGAs. That means there’s already a few projects out in the wild that can be easily ported to this platform, and already [Kevin] has a logic SUMP example going on his board.

Open Your Garage Door With Your Smartphone

The eternal enemy of [James Puderer]’s pockets is anything that isn’t his smartphone. When the apartment building he resides in added a garage door, the forces of evil gained another ally in the form of a garage door opener. So, he dealt with the insult by rigging up a Raspberry Pi to act as a relay between the opener and his phone.

The crux of the setup is Firebase Cloud Messaging (FCM) — a Google service that allows messages to be sent to devices that generally have dynamic IP addresses, as well as the capacity to send messages upstream, in this case from [Puderer]’s cell phone to his Raspberry Pi. After whipping up an app — functionally a button widget — that sends the command to open the door over FCM, he set up the Pi in a storage locker near the garage door and was able to fish a cable with both ethernet and power to it. A script running on the Pi triggers the garage door opener when it receives the FCM message and — presto — open sesame.

Continue reading “Open Your Garage Door With Your Smartphone”

Raspberry Pi SDR

[Chris D] noticed that the excellent software defined radio (SDR) software gqrx will run on the Raspberry Pi now. So he married a Raspberry Pi 3, a touchscreen, an RTL-SDR dongle, and an upconverter to make a very nice receiver setup. You can see the receiver in action below.

The video is a little light on build details, but there is a shot of the setup with the pieces labeled, and you should be able to figure it out from there. Of course, gqrx works with lots of different SDR devices so you might have to make adjustments depending on what you use (for example, many of the supported dongles won’t need the upconverter that [Chris] uses).

Continue reading “Raspberry Pi SDR”

Build Your Own P-Brain

I don’t think we’ll call virtual assistants done until we can say, “Make me a sandwich” (without adding “sudo”) and have a sandwich made and delivered to us while sitting in front of our televisions. However, they are not completely without use as they are currently – they can let you know the time, weather and traffic, schedule or remind you of meetings and they can also be used to order things from Amazon. [Pat AI] was interested in building an open source, extensible, virtual assistant, so he built P-Brain.

Think of P-Brain as the base for a more complex virtual assistant. It is designed from the beginning to have more skills added on in order to grow its complexity, the number of things it can do. P-Brain is written in Node.js and using a Node package called Natural, P-Brain parses your request and matches it to a ‘skill.’ At the moment, P-Brain can get the time, date and weather, it can get facts from the internet, find and play music and can flip a virtual coin for you. Currently, P-Brain only runs in Chrome, but [Pat AI] has plans to remove that as a dependency. After the break, [Pat AI] goes into some detail about P-Brain and shows off its capabilities. In an upcoming video, [Pat AI]’s going to go over more details about how to add new skills. Continue reading “Build Your Own P-Brain”

Objectifier: Director of Domestic Technology

book-example[Bjørn Karmann]’s Objectifier is a device that lets you control domestic objects by allowing them to respond to unique actions or behaviour, using machine learning and computer vision. The Objectifier can turn on a table lamp when you open a book, and turn it off when you close the book. Switch on the coffee maker when you place the mug next to the pot, and switch it off when the mug is removed. Turn on the belt sander when you put on the safety glasses, and stop it when you remove the glasses. Charge the phone when you put a banana in front of it, and stop charging it when you place an apple in front of it. You get the drift — the possibilities are endless. Hopefully, sometime in the (near) future, we will be able to interact with inanimate objects in this fashion. We can get them to learn from our actions rather than us learning how to program them.

The device uses computer vision and a neural network to learn complex behaviours associated with your trigger commands. A training mode, using a phone app, allows you to train it for the On and Off actions. Some actions require more human effort in training it — such as detecting an open and closed book — but eventually, the neural network does a fairly good job.

The current version is the sixth prototype in the series and [Bjørn] has put in quite a lot of work refining the project at each stage. In its latest avatar, the device hardware consists of a Pi Zero, a Raspberry-Pi camera module, an SMPS power brick, a relay block to switch the output, a 230 V plug for input power and a 230 V socket outlet for the final output. All the parts are put together rather neatly using acrylic laser cut support pieces, and then further enclosed in a nice wooden enclosure.

On the software side, all of the machine learning part is taken care of using “Wekinator” — a free, open source software that allows building musical instruments, gestural game controllers, computer vision or computer listening systems using machine learning. The computer vision is handled via Processing. All the code is wrapped using openframeworks, with ml4A providing apps for working with machine learning.

All of the above is what we could deduce looking at the pictures and information on his blog post. There isn’t much detail about the hardware, but the pictures are enough to tell us all. The software isn’t made available, but maybe this could spur some of you hackers into action to build another version of the Objectifier. Check out the video after the break, showing humans teaching the Objectifier its tricks.

Continue reading “Objectifier: Director of Domestic Technology”

Pikelet – A Pi-Zero PC

There are many uses for an old 10 Mbps Ethernet hub besides using it as a speed-bump in your network. (No fun in that!) [thinkerzone] decided to gut an old EN104 Bay Networks ‘Netgear Hub’ to re-purpose the solid steel case as a Raspberry Pi Zero PC housing. The project, which [thinkerzone] called Pikelet, aims to be an ‘IoT server’ with the feel of a PC. Note: a PC, not a Gameboy. In his project, he describes the minimum set of features for the Pikelet.

  • Power button – PCs need a power button
  • Power and Status LEDS – Blue for power, RGB for the programmable status LED
  • USB ports – using a Zero4U hub to expand the Pi Zero usb ports
  • Ethernet – using a ENC28J60 module was the original idea, but it burned while making the project
  • HDMI access – the case should ensure the HDMI port is accessible
  • Minimum storage – a 32 Gb SD card was found to be “enough to be useful”
  • UART – via a FT232 module
  • WiFi – a WiFi dongle with an external antenna, since the metal case would degrade the signal if it was inside, so a WiFi hat was not an option

On the software side, it runs the latest version of Raspbian with some additional configuration for the UART port and status LED pins.

In the project logs we can follow along as [thinkerzone] battles through the implementation of the project and, well, Murphy’s Law.  One of the things that a descriptive log is useful for is that it serves as a reminder that an apparently simple project can have a lot of setbacks. Sometimes an easy-to-describe project is quite a challenge to implement. And it can be annoying when explaining the challenges to other (non hackers/makers) persons and they go: “That’s just connecting some wires…”

Is the feeling familiar? It’s nice to see someone else going through it too.

Persistence Of Vision Death Star

Death Stars were destroyed twice in the Star Wars movies and yet one still lives on in this 168 LED persistence of vision globe made by an MEng group at the University of Leeds in the UK. While Death Stars are in high demand, they mounted it on an axis tilted 23.4° (the same as the Earth) so that they can show the Earth overlaid with weather information, the ISS position, or a world clock.

More details are available on their system overview page but briefly: rotating inside and mounted on the axis is a Raspberry Pi sending either video or still images through its HDMI port to a custom made FPGA-based HDMI decoder board.  That board then controls 14 LED driver boards mounted on a well-balanced aluminum ring. All that requires 75W which is passed through a four-phase commutator. Rotation speed is 300 RPM with a frame rate of 10 FPS and as you can see in the videos below, it works quite well.

Continue reading “Persistence Of Vision Death Star”