To Do List

A project log for Not Quite Useless Raspberry Pi Replacement

Make a Raspberry Pi replacement using a Cypress Semiconductor Programmable System on a Chip (PSOC 5) 10/17/2019 at 11:380 Comments

There's still quite a few things I'd like to do.

Menu System for Card Tests

Since the first target is the Land Boards Raspberry Pi I/O Hats, I'd like a menu system to select the Hat to test. The menu would run over the USB connection and should allow tests to be developed for the hats. I'd like the only host requirements to be running a terminal emulator, like PuTTY which supports Serial over USB.

The cards are mostly GPIO breakouts that add Ground and Signal as well as do voltage translation of the 3.3V of the Raspberry Pi to 5V signal levels. For these cards it's enough to bounce a light across each of the output pins and light LEDs. This checks for shorts, opens, etc.

But we do have some other cards, such as a serial port card which does USB to Serial that are more than just testing GPIO lines.

Hat ID EEPROM Read/Write

One of the primary reasons I made this card is I don't want to have to figure out how to use the I2C interface everytime Raspbian changes the Device Tree approach. For that to work, I need to be able to program the EEPROM on the hat. If there's a hat that's already been programmed it can be read to automatically determine what hat is attached.

Not all of our Land Boards Raspberry Pi Cards are technically hats. To be a hat, the card has to have an ID EEPROM. Some of our cards are breakouts and don't have the ID EEPROM. Some of our cards just support the smaller GPIO connector size, as well.

Cards which have an ID EEPROM include:

The cards which don't have an ID EEPROM include:

So there's really only 3 hats on the list (cards with ID EEPROMs). Still it would be nice to have a way to do this without the pain of using a Raspberry Pi.

Part of the reason it's painful to do this with a Raspberry Pi is that the Pi viewed the EEPROM as something it interrogates at power up rather than a device it want's to let users read. That has to be worked around and most of the workarounds on the Internet just don't work all that well.