See the pictures in pictures/box
.
- Power supply
- Fan
- USB controller board (Arduino Nano)
- USB power outlets
- USB Hubs
See the pictures in pictures/rpi
.
Power and Ground.
- Alternative: USB bus powered
- GND:
CN2-2
toRPi pin 14
- VCC:
CN3-1
toCN3-3
(VBUS to VCC)
- GND:
- Alternative: Self-powered
CN3-2 (GND)
toRPi pin 6 (GND)
CN3-3 (VCC/PWR)
toRPi pin 4 (5V)
- DON'T CONNECT
CN3-1 (VBUS)
IO and chip power (3.3V to VCCIO).
CN2-1 (3V3)
toCN2-11 (VIO)
CN2-3
toCN2-21
(not strictly required, but nice to have)CN2-5
toCN3-12
(not strictly required, but nice to have)
UART (TX/RX to RPi).
- RPi-TX :
CN3-25 (BD1)
to8 (GPIO14/TXD0)
- RPi-RX :
CN3-26 (BD0)
to10 (GPIO15/RXD0)
JTAG (Mini module to RPi).
- RPi to RPi:
1 (V3V3)
to15 (GPIO22/ARM_TRST)
- unconnected:
16 (GPIO23/ARM_RTCK)
CN2-9 (AD2)
to18 (Gpio24/ARM_TDO)
CN2-7 (AD0)
to22 (Gpio25/ARM_TCK)
CN2-10 (AD1)
to37 (Gpio26/ARM_TDI)
CN2-12 (AD3)
to13 (Gpio27/ARM_TMS)
Prepare SD card with latest firmware files (enables network boot on every RPi until "3+" and contains bugfixes)
From {EMBEXP-BOX}/tools/firmware/boot_{thelatest}
, take the file bootcode.bin
and copy it on an empty FAT32 formatted SD card.
TODO: add configured EEPROM image in tools/firmware/custom/rpi4_eeprom/... TODO: clean up the following notes
- Standard EEPROM update
sudo apt update sudo apt full-upgrade sudo apt install rpi-eeprom sudo apt update sudo apt upgrade sudo apt install rpi-eeprom sudo rpi-update # Enable beta releases in the standard update process sudo echo FIRMWARE_RELEASE_STATUS="beta" > /etc/default/rpi-eeprom-update sudo systemctl mask rpi-eeprom-update
- Configure EEPROM
cp /lib/firmware/raspberrypi/bootloader/beta/pieeprom-2019-10-16.bin pieeprom.bin rpi-eeprom-config pieeprom.bin > bootconf.txt nano bootconf.txt ############ BOOT_UART=1 BOOT_ORDER=0x21 #probably not needed: TFTP_PREFIX=0 ############ rpi-eeprom-config --out pieeprom-netboot.bin --config bootconf.txt pieeprom.bin sudo rpi-eeprom-update -d -f ./pieeprom-netboot.bin sudo reboot vcgencmd bootloader_config vcgencmd bootloader_version
- Power - micro USB
- Reset - jumper cable gnd and rst, rst with resistor in series (3,9 k ohm)
- UART/JTAG - mini USB
- Ethernet - patch cable
The board does not connect to the serial port of the processor by default. One has to either connect it with an external module or connect it using small resistors on the board. For the latter option, see the pictures in pictures/lpc11c24
.
This is not strictly needed at the moment, but it can be useful for later.
# note: it takes about 3 minutes to write and then 2 minutes to verify
interface/fpgaprog.py box3 arty_a7_100t_0 arty_a7_100t_riscv_freedom_e300/E300ArtyDevKitFPGAChip --to_flash
- Power/FPGA-JTAG/UART - micro USB
- JTAG - mini USB (JTAG wiring, see
https://www.digikey.com/eewiki/display/LOGIC/Digilent+Arty+A7+with+Xilinx+Artix-7+Implementing+SiFive+FE310+RISC-V
)