Main Site Documentation

What is so special about FEZ?


So what is so special about FEZ? Let me see if I can remember everything but please remind me if I forget something. I will use the smallest device, USBizi (used on FEZ Domino/Mini/Rhino/Panda, in the list below.


The hardware

  • 72Mhz Processor
  • 148KB User available flash (including USB client, USB host, TCP/IP…)
  • 62KB User available flash (including USB client, USB host, TCP/IP…)

NETMF standard peripherals feature

  • SPI, 2 channels
  • UART, 4 of them
  • I2C
  • Digital input and outputs

GHI’s exclusive features (not usually found on any other NETMF devices). I would like to add that all these are commercial grade implementation.

  • Standard .NET TCP/IP socket support, with TCP (client and server), UDP and HTTP (HTTP is in beta)
  • Standard .NET file system support on SD cards and USB thumb drives
  • Full customization and control of USB Client
  • Allowing virtual serial port on USB client (CDC), with GHI supplied windows drivers
  • Supporting the USB client to be used for debugging while also enabling a virtual serial port
  • Supporting the USB client interface to work like a card reader (MSC), hooking into the SD cards. Basically, USBizi (FEZ) becomes a USB SD card reader
  • Debugging/Deploying program using USB or serial interfaces. Switching between the interfaces is done by a simple pin, the same firmware does it all
  • USB Host, allowing you to connect USB mouse, USB keyboard, USB joystick, USB thumb drive or about any other USB device and control it with rather simple C# drivers
  • Built-in real-time-clock (RTC) to keep track of time even if USBizi is powered off, with drivers to use the RTC and the built-in alarm
  • OutputCompare that allows generating waveforms from a non-blocking call. Generate software-PWM, tones, UART or even a TV remote waveforms easily
  • OneWire support with complete library, including CRC calculation
  • PWM with nanosecond accuracy
  • Analog inputs
  • Analog out out which can also playback WAV files
  • CAN, 2 channels
  • Parallel port support (it is beta now)
  • Watchdog
  • Special libs to aid in programming, like for converting floats to byte arrays
  • Extended Math library with double accuracy, implemented natively for superior performance
  • Native implementation of 16-bit and 32-bit CRC
  • Register access for full control over the core processor and to build native drivers.

Provided Help
All this is coming with the great help from this amazing comunity

Moving to larger device, you get more hardware but GHI also adds more exclusive features:

  • SQLite database
  • WiFi support
  • PPP support (perfect for mobile networks)
  • Runtime Loadable Procedures (RLP) that is used to load and use native code at runtime. Similar to how DLLs load on windows. Native code gives tighter control and higher execution speeds
  • Allowing change of Custom heap size
  • Full customization on display settings to allow wide range TFT display options
  • Methods to convert bitmap format allowing the use of graphics on 1bit or 4bit displays, usually interfaced using SPI or parallel