Skip to content

2 Hardware

jgyates edited this page Feb 6, 2023 · 31 revisions

This project has been developed and tested with a Raspberry Pi 3 as the base platform. Since the serial port and network are the only external ports used, the program could be used on other platforms with minor modifications and testing.

In development and testing I used the Raspberry Pi3 with built in WiFi. Depending on your WiFi signal and your generator proximity to the access point your results may vary.

Below is a list of hardware that I used. Since your generator may be different and your network will be different you will need to validate these for your setup.

  • Raspberry PI 3 and SD Card. A Class 10 SD card is recommended. Speeds below a class 10 will affect performance in file system reads and writes and you may experience timeouts on the web interface with a slower card.
  • Powering your Pi
    • Option 1: Generator Battery to USB Power Supply - Power supply for the Raspberry Pi is attached to battery on the generator. This adapter or this one may be more applicable if you are using a Raspberry Pi4 as it has USB-C and 3A output.
    • Option 2 - If you use Ethernet instead of Wifi you can power your pi via PoE with this adapter, assuming you have a PoE injector or PoE Switch.
    • Option 3 - Power your Pi from the controller connector via the GPIO connector.The wiki page on making a cable has additional details on the controller pinout.

NOTE: Some people have reported undervoltage errors on the Pi 3 (not the Pi Zero) when powering through the controller connector. While this has not been reported to prevent the application from running it may not be an ideal way to power the Pi. See this issue for more details.

NOTE: If using the Battery to USB Power Supply to power your pi, you may want to consider replacing the 7.5A fuse that comes with the power supply to a lower value. I have a 2A fuse in mine. This will help protect your pi if surges occur due to a nearby lightening strike.

Regardless of the method you use to power your pi, you must ensure that you your pi and the generator controller are sharing a common ground. If you use a two prong wall adapter to power your pi you will likely see CRC errors unless you connect ground from the controller through your cable insuring your Pi and Controller share a common ground. I opted for USB power connected to the battery.

Custom HAT

User @skipfire has created a few variants of a raspberry pi HAT (Hardware Attached on Top) that has been specially designed to use with Genmon. You can use one of these and avoid the extra wires needed to connect the pi to the RS-232 board. Using this HAT removes the need for a separate TTL to RS-232 board. There are version for both the normal sized pi and pi zero. You can purchase them here. Some of these HATs offered by @skipfire are designed to work with the HighPi case](https://www.pishop.us/product/highpi-raspberry-pi-case-for-pi4/) and have an extra connector for a fan if your Pi does not have adequate air flow. A 12 inch cable is included with the HAT, and a 1 meter cable upgrade is available.

If you use the custom HAT you should only need the Raspberry pi, SD card and enclosure (with some magnets to mount your enclosure). If you have an Evolution 1.0 or Nexus model you will need either an upgraded cable with battery terminals or an external USB power supply listed below. If you need lengths between 12 inches and 1 meter or longer than 1 meter you can get a few of these cable extensions.

Custom 3D Printed Enclosure

User @evanevery created a 3D printed case to be used with a Pi4 and the HAT available above. You can download the design file for the enclosure here

Hardware Used

NOTE: This project provides an isolated RS-232 interface with external temperature sensors which genmon supports as an add on.

  • Break out DB-9 (male or female, depending on the above level converter you use)

  • I used the following Digikey part numbers for the molex connectors for the cable. The Evolution /Nexus controller uses a molex type receptacle:

This is the DigiKey part number of the connector that you will use on your cable (plug). This is required.

This is the DigiKey part number of the connector on the controller (receptacle). This is for informational purposes and is not required.

  • Plug = WM3603-ND
  • Male pin = WM2500CT-ND

I used a molex connector on my enclosure and routed the two wires to a break-out box that a DB-9 (see link above) however there are endless ways to make the connection to your enclosure on the Pi.

NOTE: I have since created a new cable using a few of these plugged together. It works great and you do not need to purchase and crimp your own molex plugs. You can just cut one end off and screw it into the DB9 modular adapter. This method is less prone for mistakes in making your cable.

Creating a Cable

See the project wiki for info on creating a cable, including alternate methods that do not require using a crimping tool.