|
|
|
# ULX3S PCB
|
|
|
|
|
|
|
|
This is work-in-progress place for putting
|
|
|
|
some wishes of a small (94x51 mm) FPGA board.
|
|
|
|
|
|
|
|
Instead of describing in written,
|
|
|
|
it is better explained when drawn in kicad:
|
|
|
|
|
|
|
|
kicad ulx3s.pro
|
|
|
|
|
|
|
|
[Schematics](/doc/schematics.pdf) is mostly complete.
|
|
|
|
PCB routing is complete, but needs improvement
|
|
|
|
mainly for the power supply.
|
|
|
|
|
|
|
|
3D preview
|
|
|
|
|
|
|
|
![TOP](/pic/ulx3st.jpg)
|
|
|
|
![BOTTOM](/pic/ulx3sb.jpg)
|
|
|
|
|
|
|
|
# Features
|
|
|
|
|
|
|
|
FPGA: Lattice ECP5 LFE5U-25F-6BG381C
|
|
|
|
|
|
|
|
USB: FTDI FT231XS (1Mbit JTAG and 3Mbit usbserial)
|
|
|
|
|
|
|
|
GPIO: All differential, PMOD-friendly
|
|
|
|
|
|
|
|
RAM: 32MB SDRAM MT48LC16M16
|
|
|
|
|
|
|
|
Flash: 8MB SPI flash S25FL164 for FPGA config
|
|
|
|
|
|
|
|
Storage: Micro-SD slot
|
|
|
|
|
|
|
|
LEDs: 10 (8 blink-LEDs, 2 USB leds)
|
|
|
|
|
|
|
|
Buttons: 6 (4 direction and 2 fire buttons)
|
|
|
|
|
|
|
|
Audio: 3.5 mm stereo jack
|
|
|
|
|
|
|
|
Video: GPDI connector with 3.3V-5V I2C bidirectional level shifter
|
|
|
|
|
|
|
|
Display: placeholder for 0.96-1.3" SPI OLED COLOR or B/W
|
|
|
|
|
|
|
|
WiFi+bluetooth: placeholder for ESP-32 (JTAG and serial over WiFi possible)
|
|
|
|
|
|
|
|
Power: 3 Switching voltage regulators: 1.2V, 2.5V, 3.3V
|
|
|
|
|
|
|
|
Low power sleep: RTC clock wakeup, quartz and battery
|
|
|
|
|
|
|
|
|
|
|
|
GPDI is General Purpose Differential Interface,
|
|
|
|
Electrically LVDS, mostly TMDS tolerant
|
|
|
|
female receptacle more-or-less compatible
|
|
|
|
with digital monitors/TVs
|
|
|
|
|
|
|
|
|
|
|
|
# Todo
|
|
|
|
|
|
|
|
Finish routing and especially improve Power
|
|
|
|
section (thicker power lines, separately routed feedback)
|
|
|
|
|
|
|
|
[ ] Silkscreen Double outline for BGA chip
|
|
|
|
[ ] Solder stop mask must go inbetween all SMD chip pads
|
|
|
|
[ ] Do not write silkscreen over the pads
|
|
|
|
[ ] Silkscreen BGA names on ESP32 placeholder
|
|
|
|
[ ] Thinner copper, more spacing to SDRAM-FPGA
|
|
|
|
[ ] physically sprinkle VCC blocator capacitors under BGA
|
|
|
|
[ ] Values on silkscreen
|
|
|
|
[ ] Dedicated antenna pin
|
|
|
|
[ ] onboard 433 antenna (lower side, remove GND infill)
|
|
|
|
[x] Resistors for LEDs
|
|
|
|
[x] Move USB LEDs from bottom to top side
|
|
|
|
[ ] Improve SDRAM routing - use VIAs for closest pins
|
|
|
|
[x] Increase thickness of power lines (5V, 3.3V, 2.5V)
|
|
|
|
[x] Compile a f32c bitstream using the schematics
|
|
|
|
[x] Compile differential GPDI output
|
|
|
|
[x] Connect more lines from ESP-32 to FPGA
|
|
|
|
[x] Connect FPGA USB D+/D- with 1.5k pullup in USB 1.1 (full speed) mode
|
|
|
|
[x] FPGA USB add 27 ohm + 3.6 V zener
|
|
|
|
[x] Symmetrically place USB connectors left-right
|
|
|
|
[ ] Jumpers to switch 2.5V/3.3V for left IO banks
|
|
|
|
[x] External JTAG header
|
|
|
|
[ ] Move WiFi Disable jumper above the buttons
|
|
|
|
[x] Sprinkle 2.2uF capacitors on power lines
|
|
|
|
[ ] Spice simulation of power-up/shutdown network
|
|
|
|
[x] 27ohm D+/D- to FT231XS
|
|
|
|
[x] DIP switch (4 switches)
|
|
|
|
[x] MAX11123 ADC SPI
|
|
|
|
[x] I2C for RTC
|
|
|
|
[x] main usb connector on top side
|
|
|
|
[ ] space screw to other parts
|
|
|
|
[x] move battery away from screw hole
|
|
|
|
[ ] move 32k to the right
|
|
|
|
[x] top layer GND fill
|
|
|
|
[x] R25 move away from oled screw hole
|
|
|
|
[ ] board cut off nothches inisde for space saving
|
|
|
|
[x] DIP switch to the right near RAM
|
|
|
|
[ ] move HDMI a bit closer to OLED
|
|
|
|
|