Skip to content

harbaum/FPGA-Companion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MiSTeryNano FPGA Companion

The MiSTeryNano FPGA Companion implements support functions for FPGA based retro computing projects like MiSTeryNano project. While the FPGA typically implements the hardware of the retro machine itself the Companion uses a microcontroller to add support for modern peripherals like USB keyboard, mice and SD cards. It also implements an on-screen-display menu to allow the user to configure the retro machine.

The FPGA Companion replaces the MiSTeryNano firmware that was formerly part of the MiSTeryNano project. It is also used by the NanoMig, the C64Nano, the VIC20Nano and the A2600Nano.

Supported MCUs

While the MiSTeryNano was initially designed with a BL616 MCU as the support MCU the FPGA Companion introduces more flexibility and allows to choose from different MCUs to act as the support MCU. From the FPGAs perspective these behave identical although not all MCUs may support all functions to the same extent and e.g. the ESP32 is rather limited when it comes to USB support.

Currently the FPGA Companion can be used with the following MCUs:

Features and disadvantages of the different MCUs

The inital version of MiSTeryNano relied on the BL616 as a support MCU. Some shortcomings of that platform caused the code to be ported to other MCUs which then may have their own advantages and disadvantages.

BL616

  • Pros
    • Very powerful Risc-V CPU
    • USB 2.0 highspeed host support
    • WiFi 6 support
    • Bluetooth 5.2 support
  • Cons
    • Limited SDK support
      • USB needs manual update of the CherryUSB stack
      • No classic Bluetooth support
      • Limited WiFi support

RP2040

  • Pros
    • Powerful and well-supported SDK
    • Widely available and cheap
    • Fullspeed USB host support
  • Cons
    • No built-in bluetooth and WiFi support
      • Only available via seperate modules (e.g. on Pico(W))

ESP32-S2/S3

  • Pros
    • Powerful and well-supported SDK
    • Widely available and cheap
    • Built-in Bluetooth and WiFi
  • Cons
    • Very limited USB host support
      • Only one device (no hub)
      • USB stack complex to use