Raspberry Pi Cooling Fan Control with Bash Scripting

In a previous post, I did a very brief introduction to the world of Bash scripting in the context of Raspberry Pi single-board computers. It’s an amazingly powerful tool, capable of administrative tasks like batch file renaming, making decisions, and more. While this scripting interface is available for any Linux system, the Raspberry Pi’s GPIO pins make it even more powerful, allowing it to control physical devices, like an LED directly, or even motors and other higher current devices indirectly via a transistor.

As it just so happens, the Raspberry Pi doesn’t come with any sort of active or even passive, cooling solution, and it’s pretty common to simply hook up a fan to run at all times to its 5V power supply. This seems to work fine, but when I noticed the Pi that runs my 3D printer (in a hot Florida garage) was overheating, running it all the time seemed a little silly. After all, power is applied to the Pi constantly, but it’s actually used on a very intermittent basis when I’m printing something.

(Script and PCB design available on GitHub)

Raspberry Pi Cooling Fan Control with Bash Scripting

Adding PCIe To Your Raspberry Pi 4, The Easier Way

raspberry_pi_4_installed_pcie_bridge

Ever since people figured out that the Raspberry Pi 4 has a PCIe bus, the race was on to be the first to connect a regular PCIe expansion card to a Raspberry Pi 4 SBC. Now [Zak Kemble] has created a new approach, using a bridge PCB that replaces the VL805 USB 3 controller IC. This was also how the original modification by [Tomasz Mloduchowski] worked, only now it comes in a handy (OSHPark) PCB format.

rpi4_bridge_chip-1024x454-1

After removing the VL805 QFN package and soldering in the bridge PCB, [Zak] confirmed that everything was hooked up properly and attempted to use the Raspberry Pi 4 with a PCIe extender. This showed that the Raspberry Pi would happily talk with a VL805-based USB 3.0 PCIe expansion card, as well as a Realtek RTL8111-based Ethernet card, but not a number of other PCIe cards. Exactly why this is is still unclear at this point.

raspberry_pi_4_pcie_expander

As a bonus, [Zak] also found that despite the removal of the VL805 IC from the Raspberry Pi rendering its USB 3 ports useless, one can still use the USB-C ‘power input’ on the SBC as a host controller. This way one can have both PCIe x1 and USB on a Raspberry Pi 4.

This is the third iteration we’ve seen for using PCIe with the Pi. If you’re building on the work of [Thomasz Mloduchowski], which inspired [Colin Riley] to add expanders, and now this excellent hack by [Zak], we want to hear about it!

via Adding PCIe To Your Raspberry Pi 4, The Easier Way — Hackaday

Quote

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:

Initial Meeting – Show and tell, build and chat.

Saturday, Apr 7, 2018, 1:00 PM

No location yet.

10 Open Source HW Enthusiasts Attending

• 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, w…

Check out this Meetup →

• 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