iCE40 FPGA Board for the Raspberry Pi

Matthew Venn has created a FPGA dev board based on Lattice iCE40 8k for the Raspberry Pi.  The board uses our After Dark service which features clear solder mask on a black substrate:

board

FPGA dev board based on Lattice iCE40 8k

Aim

  • Make my first PCB with an FPGA
  • Keep it super simple and cheap
  • Configured by on-board FLASH or direct with a Raspberry Pi
  • 6 PMODs, 2 buttons, 2 LEDs, FLASH for configuration bitstreams.

What a Lattice iCE40 FPGA needs

  • A clock input. Has to be provided by an oscillator, it doesn’t have a crystal driver.
  • 1.2v core supply for the internal logic.
  • 2.5v non volatile memory supply. Can be provided via a voltage drop over a diode from 3.3v.
  • IO supply for the IO pins, different banks of IO can have different supplies. This design uses 3.3v for all banks.
  • Get configured over SPI interface. This can be done directly by a microcontroller or a computer, or the bitstream can be programmed into some FLASH, and the FPGA will read it at boot. If FLASH isn’t provided then the bitstream needs to be programmed at every power up or configuration reset.
  • Decoupling capacitors for each IO bank.

PCB

BOM

  • FPGA iCE40-HX4K-TQ144 (8k accessible with Icestorm tools)
  • 3.3v reg TLV73333PDBVT
  • 1.2v reg TLV73312PDBVT
  • 12MHz oscillator SIT2001BI-S2-33E-12.000000G
  • 16MB FLASH IS25LP016D-JBLE (optional).

Test

See the test program. This makes a nice pulsing effect on LED2, and LED1 is the slow PWM clock. The buttons increase or decrease pulsing speed.

make prog

Yosys and NextPNR are used to create the bitstream and then it’s copied to the Raspberry Pi specified by PI_ADDR in the Makefile.

Fomu-Flash is used to flash the SPI memory, or program the FPGA directly.

 

iCE40 FPGA Board for the Raspberry Pi

Finishing the IN-9/IN-13 Nixie Tube Driver for the Raspberry Pi (Part 2)

Mark Smith writes on the Surf ‘n Circuits blog about a Nixie Tube project:

Finishing the IN-9/IN-13 Nixie Tube Driver for the Raspberry Pi (Part 2)

Rarely during product development do you get it correct on the first design iteration. Something always goes wrong or just isn’t perfect. However, like trying for a hole-in-one on a par 3, you always try for perfection but expect to need a few extra strokes. So, while I almost hit a hole in one in the first version of the Nixie Tube HAT (Part 1), a few improvements were required. In this blog, I describe the few improvements found from Part 1 and complete the design to reach stage 6 of the surfncircuits defined development flow. As with the other projects in the blog, the complete design files in Kicad, schematics, layout, BOM, are available at GitHub for use in your own projects. You can build it yourself and the PCB can also be ordered directly from Oshpark.

Quote

Pocket Pi project by Facelesstech

From the Facelesstech blog:

img_20180912_190447.jpg

Pocket Pi

So if you have been following my blog lately you may have noticed me rambling on about trying to get a Xbox 360 chat pad and an ps3 keypad working with a raspberry pi to make a portable terminal. I have finally finished my quest so join me below to see how I did it

img_20180829_135606 (1)

Hardware

  • Raspberry pi zero w
  • 3.5″ waveshare clone
  • Rii Mini 518 Bluetooth keyboard
  • Bluetooth dongle
  • Power bank board
  • 2600mAh lipo battery
  • DIY USB hub
  • DIY interface PCB for screen
  • Acrylic
  • Various stand-offs

Raspberry pi zero w a 3.5″ screen a power bank board and a bluetooth keyboard is that makes up this pocket terminal.

Quote

Estimated Time of Arrival (ETA) Nixie Tube Clock

From Mark Smith on the Surf ‘n Circuits blog:

4f9e07f8-8527-4256-bd58-c69a521f223c-4140-0000071679b34fd1_file-e1522612873965

What is an ETA Nixie Tube Clock and How Do You Build One?

Adding IOT to the Nixie Tube Clock. A clock that provides the estimated time of arrival for up to ten destinations

The ETA Nixie clock is programmed to display the normal time and up to ten different ETA times that are easy to identify and visually stimulating. The current time is displayed for 5 seconds (i.e. 8:41:38 AM), then up to ten different ETA destinations are displayed for three seconds each before the cycle is repeated. The current time displays all six digits including seconds. The ETA locations are numbered and display hours and minutes without seconds helping to distinguish between them.  In our house, the ETA to work is ETA number 1 (i.e. 9:07 AM) and the ETA to school is ETA number 2 (i.e. 8:58 AM). Lots of other options are possible with custom programming of the Raspberry Pi to meet your ETA requirements.

surfncircuits has shared the board on OSH Park:

An Estimated Time of Arrival (ETA) Nixie Tube Clock Rev 2.

ff5a9c545d1c50e39dc57941c7e174bf.png

Order from OSH Park

Estimated Time of Arrival (ETA) Nixie Tube Clock

PDX Raspberry Pi and Arduino Meetup

There is a new PDX Raspberry Pi and Arduino meetup organized by hosted by Mitch Bayersdorfer coming to Portland on Saturday, April 7th:

https://www.meetup.com/PDX-Raspberry-Pi-and-Arduino-Meetup/events/248456808/

• What we’ll do:

Part social and part build time, this meet-up is for those

• What to bring

Computer. Raspberry Pi and/or Arduinos if you have them. Projects that you want to share. Items for the “parts luck” swap bin.

• Important to know

The shop where this is held only has space heaters – so please dress warmly on colder days. On very cold days, we will forego building and have a social in a heated space, if we can’t find an alternative spot.

PDX Raspberry Pi and Arduino Meetup

Interface the Raspberry Pi Zero W to Commodore 64

Leif Bloomquist has designed a board to interface the Raspberry Pi Zero W to the Commodore 64 through the User Port.

4826291511238099961.jpg

Raspberry Pi Zero W / Commodore 64 Interface Board

Project goals:

1. Get a Linux shell prompt on your C64 through the Pi Zero’s Console Pins.

2. Use the Pi Zero as a virtual Floppy Disk Drive through raspbiec (https://github.com/Flogistoni/raspbiec) (another option is ninepin, https://github.com/FozzTexx/ninepin)

3. Allow your C64 to access the Internet, USB, etc. through the Pi Zero. ssh!

4. Provide Composite Video out from the Pi Zero that is usable directly on a Commodore monitor.

5. (Stretch Goal #1) If possible – use your C64’s keyboard as the keyboard on the Pi Zero (through the serial port). Maybe through softwedge? (https://github.com/theatrus/softwedge)

6. (Stretch Goal #2) Add PWM audio output (along the lines of https://learn.adafruit.com/introducing-the-raspberry-pi-zero/audio-outputs)

 

  • 1 × Commodore 64
  • 1 × Raspberry Pi Zero W
  • 1 × 75HC245 For 5V / 3.3V translation
  • 1 × Custom board To be designed.

955771511238228834

Interface the Raspberry Pi Zero W to Commodore 64

Raspberry Pi CAN-bus HAT for the Omzlo IoT platform

From Omzlo Electronics:

omzlo-pi-master-rpi.jpg

A Raspberry Pi CAN-bus HAT for the Omzlo IoT platform

In a previous blog post, we described “SKWARE” our revised Arduino-compatible IoT modules. These nodes are designed to be connected together in a daisy-chain fashion with a single cable that brings both DC power and CAN-bus networking. The voltage transported in the cables is not 5V (or 3.3V) but rather 12V or 24V to work more comfortably over long distances, potentially reaching 300 meters (1000 feet). You can think of it as a poor-man’s PoE.

omzlo-pi-master-diagram

This network of connected nodes is designed to be monitored and controlled by a “master node”, which injects the necessary 12V/24V DC, provides node management services and a web interface for network administration. While the IoT nodes are based on an Arduino-style microcontroller, the “master node” requires a bit more power. In this context, the ubiquitous Raspberry Pi with its GPIO header seems like an ideal candidate for that role and we decided to see if we could build a “master node” by augmenting a Raspberry Pi with an appropriate add-on board. These add-on boards are called “HATs” (for “Hardware Attached on Top”) and we called our first prototype the “Pi Master HAT”.

omzlo-pi-master-network

The drawing below illustrates the general structure of our network. A Raspberry Pi equipped with our “Pi Master HAT” controls a network of 2 (or more) daisy-chained nodes, like the SKWARE.

omzlo-pi-master-debug

Raspberry Pi CAN-bus HAT for the Omzlo IoT platform

Help gamaral’s Cancer Treatment

If you’ve enjoyed Guillermo Amaral’s electronics projects such as the Canon DSLR WiFi RemoteRaspberry Pi PSUUARTMatic 3000+, Keypad Submodule and many more, then please consider giving to his cancer treatment fund:

Gamaral’s Cancer Treatment

I’ve unfortunately had to flip the bill for my two past surgeries and my on going cancer treatment… and as you can imagine, I’m running out of cash.

If you like my content and/or have found my published projects interesting or useful, please consider sending me some spare change and I’ll be ever so grateful.

Here are couple great project videos by Guillermo on YouTube:

Help gamaral’s Cancer Treatment