Lattice iCE40 FPGA Configured by Linux Kernel

The Linux kernel recently added support for loading firmware into an FPGA via the FPGA Manager Framework. [OpenTechLab] has built a driver for the Lattice iCE40 FPGA (same chip used on the iCEStick and other development boards). One attraction to the iCE40 is there is an open source toolchain called iCEStorm.

Even if you aren’t specifically interested in FPGAs, the discussion about Linux device drivers is good background. The principles would apply to other drivers, and would definitely apply if you want to write another FPGA loader.

Continue reading “Lattice iCE40 FPGA Configured by Linux Kernel”

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.

Hackaday Links: November 6, 2016

Here’s a life protip for you: get really, really good at one video game. Not all of them; you only want to be good – top 10% at least – at one video game. For me, that’s Galaga. It’s a great arcade game, and now it’s IoT. [justin] has been working on publishing high scores from a Galaga board to the Internet. The electronics are actually pretty simple – just a latch on a memory address, and an ESP8266 for comms.

On with the mergers and acquisitions! Lattice has been sold to Canyon Bridge, a Chinese private equity firm, for $1.3 Billion. Readers of Hackaday should know Lattice as the creators of the iCE40 FPGA platform, famously the target of the only Open Source FPGA toolchain.

The Internet of Chocolate Chip Cookies. Yes, it’s a Kickstarter for a cookie machine, because buying a tube of pre-made cookie dough is too hard. There is one quote I would like to point out in this Kickstarter: “Carbon Fiber Convection Heating Element (1300W) is more energy-efficient than traditional electric elements and heats up instantly.” Can someone please explain how a heating element can be more efficient? What does that mean? Aren’t all resistive heating elements 100% efficient by default? Or are they 0% efficient? The Internet of Cookies broke my brain.

The USB Rubber Ducky is a thumb-drive sized device that, when plugged into a computer, presents itself as a USB HID keyboard, opens up a CLI, inputs a few commands, and could potentially do evil stuff. The USB Rubber Ducky costs $45, a Raspberry Pi Zero and a USB connector costs $6. [tim] built his own USB Rubber Ducky, and the results are great.

STM32 and FPGAs In A Tiny Package

Slowly, very slowly, the time when we don’t subject embedded beginners to AVRs and PICs is coming. At a glacial pace, FPGA development platforms are becoming ever more capable and less expensive. [Eric Brombaugh] has been playing around with both ARMs and FPGAs for a while now and decided to combine these two loves into a single board that’s capable of a lot.

This board is fittingly called an STM32F303 + ice5 development board, and does exactly what it says on the tin. There’s an STM32F303 on board providing a 32-bit CPU running at 72 MHz, 48 kB of SRAM, a quarter meg of Flash, and enough peripherals to keep anyone happy. The FPGA side of this board is a Lattice iCE5 with about 3k Look Up Tables (LUTs), and one time programmable non-volatile config memory.

The connections between the ARM and FPGA include a dedicated SPI port, and enough GPIOs to implement full-duplex I2S and a USART. Like all good projects, [Eric] has shared all the files, schematics, and BOMs required to make this board your very own reality, and has provided a few links to the development toolchains. While the FPGA is from Lattice’s ice40 family, it’s not supported by the Open Source Project Icestorm toolchain. Still, it’s a very capable board for ARM and FPGA development.

The Open Source Hacker’s Laptop

[Tsvetan Usunov] has been Mr. Olimex for about twenty five years now, and since then, he’s been through a lot of laptops. Remember when power connectors were soldered directly to the motherboard? [Tsvetan] does, and he’s fixed his share of laptops. Sometimes, fixing a laptop doesn’t make any sense; vendors usually make laptops that are hard to repair, and things just inexplicably break. Every year, a few of [Tsvetan]’s laptops die, and the batteries of the rest lose capacity among other wear and tear. Despite some amazing progress from the major manufacturers, laptops are still throwaway devices.

Since [Tsvetan] makes ARM boards, boards with the ~duino suffix, and other electronic paraphernalia, it’s only natural that he would think about building his own laptop. It’s something he’s been working on for a while, but [Tsvetan] shared his progress on an Open Source, hacker’s laptop at the Hackaday | Belgrade conference.

Continue reading “The Open Source Hacker’s Laptop”

Does the World Need an FPGA Arduino?

What would you get it you mashed up an FPGA and an Arduino? An FPGA development board with far too few output pins? Or a board in the form-factor of Arduino that’s impossible to program?

Fortunately, the ICEZUM Alhambra looks like it’s avoided these pitfalls, at least for the most part. It’s based on the Lattice iCE40 FPGA, which we’ve covered previously a number of times because of its cheap development boards and open-source development flow. Indeed, we were wondering what the BQ folks were up to when they were working on an easy-to-use GUI for the FPGA family. Now we know — it’s the support software for an FPGA “Arduino”.

Icezum-rev1-1607-img1-peq_thumbnail

The Alhambra board itself looks to be Arduino-compatible, with the horrible gap between the rows on the left-hand-side and all, so it will work with your existing shields. But they’ve also doubled them with pinheaders in a more hacker-friendly layout: SVG — signal, voltage, ground. This is great for attaching small, powered sensors using a three-wire cable like the one that you use for servos. (Hackaday.io has two Arduino clones using SVG pinouts: in SMT and DIP formats.)

The iCE40 FPGA has 144 pins, so you’re probably asking yourself where they all end up, and frankly, so are we. There are eight user LEDs on the board, plus the 28 I/O pins that end in pinheaders. That leaves around a hundred potential I/Os unaccounted-for. One of the main attractions of FPGAs in our book is the tremendous availability of fast I/Os. Still, it’s more I/O than you get on a plain-vanilla Arduino, so we’re not complaining too loudly. Sometimes simplicity is a virtue. Everything’s up on GitHub, but not yet ported to KiCad, so you can tweak the hardware if you’ve got a copy of Altium.

We’ve been seeing FPGA projects popping up all over, and with the open-source toolchains making them more accessible, we wonder if they will get mainstreamed; the lure of reconfigurable hardware is just so strong. Putting an FPGA into an Arduino-compatible form-factor and backing it with an open GUI is an interesting idea. This project is clearly in its very early stages, but we can’t wait to see how it shakes out. If anyone gets their hands on these boards, let us know, OK?

Thanks [RS] for the tip!

Hackaday Links: November 29, 2015

The Raspberry Pi Zero was announced this week, so you know what that means: someone is going to destroy a Game Boy Micro. If you’re interested in putting the Zero in a tiny handheld of your own design, here are the dimensions, courtesy of [Bert].

[Ahmed] – the kid with the clock – and his family are suing his school district and city for $15 Million. The family is also seeking written apologies from the city’s mayor and police chief.

There are a lot — a lot — of ‘intro to FPGA’ boards out there, and the huge variety is an example of how the ‘educational FPGA’ is a hard nut to crack. Here’s the latest one from a Kickstarter. It uses an ICE40, so an open source toolchain is available, and at only $50, it’s cheap enough to start digging around with LUTs and gates.

Over on Hackaday.io, [Joseph] is building a YAG laser. This laser will require a parabolic mirror with the YAG rod at the focus. There’s an interesting way to make one of these: cut out some acrylic and beat a copper pipe against a form. A little polish and nickel plating and you have a custom mirror for a laser.

You know those machines with wooden gears, tracks, and dozens of ball bearings? Cool, huh? Tiny magnetic balls exist, and the obvious extension to this line of thought is amazing.

[David Windestål] is awesome. Completely and totally awesome. Usually, he’s behind the controls of an RC plane or tricopter, but this time he’s behind a slo-mo camera, an RC heli, and a watermelon. That’s a 550-sized heli with carbon fiber blades spinning at 2500 RPM, shot at 1000 FPS.

How do you label your cables? Apparently, you can use a label printer with heat shrink tubing. Nothing else, even: just put heat shrink through a label maker.