uM-FPU v3.1 Floating Point Coprocessor - SOIC 18




$19.95 ea.

The uM-FPU v3.1 is a floating point math coprocessor for your microcontroller. Send the data via SPI or I2C, and get an accurate result back without loading down your main micro!

Description [Hide]

Note: This unit is virtually identical to the DIP package unit, except it's in a SOIC-18 SMD package!

The uM-FPU V3.1 math coprocessor is a full featured standalone math engine that is capable of crunching even the toughest of mathematical equations without burdening your main microcontroller. The uM-FPU chip can be interfaced to virtually any microcontroller via a SPI interface (3-Wire) or I2C (2-Wire) interface, making it ideal for applications requiring floating point math, including sensor readings, robotic control, GPS, data transformations and other embedded control applications. The uM-FPU V3.1 chip supports 32-bit IEEE 754 compatible floating point and 32-bit integer operations.

Update: The uM-FPU now features Arduino / Freeduino compatible libraries. Make your Freeduino a math genius!

uM-FPU V3.1 Key Features

  • New for V3.1:
    • Busy/Ready Status on OUT1 pin
    • SEROUT / SERIN instructions for serial data transfer & GPS (NMEA) inputs
    • WRBLK for transferring 32 bit values from microcontroller to uM-FPU
    • RDBLK for transferring 32 bit values from uM-FPU to microcontroller
    • MOP instructions (for matrix operations)
    • STRBYTE for storing the lower 8 bits of register 0 to string buffer
    • STRINC for incrementing the string selection point
    • STRDEC for decrementing the string selection point
    • RET,cc for conditional return from user-defined functions
    • READVAR offers two new values for retrieval
    • Auto-Start Function Call for setting chip behavior on reset
  • 10 to 20 times faster than uM-FPU V2 for all floating point operations
  • Up to 70 times faster for advanced instructions
  • 256 byte instruction buffer
  • 128 general purpose 32-bit registers for storing floating point or long integer values
  • 8 temporary 32-bit registers to support parentheses in calculations
  • 2048 bytes Flash memory for user-defined functions
  • 1024 bytes EEPROM for data storage or user-defined functions
  • Supports 2.7V, 3.3V and 5V supply voltage
  • I2C compatible interface up to 400 kHz
  • SPI compatible interface up to 15 MHz
  • Expanded instruction set, matrix operations, A/D conversion, string handling

Supported Functions:

Floating Point Operations

    • Set, Add, Subtract, Multiply, Divide, Power
    • Sqrt, Log, Log10, Exp, Exp10, Root
    • Sin, Cos, Tan, Asin, Acos, Atan, Atan2
    • Floor, Ceil, Round, Min, Max, Fraction, Mod
    • Negate, Abs, Inverse
    • Multiply and Accumulate, Multiply and Subtract from Accumulator
    • Unit Conversions
    • Read, Write, Compare, Status

      Long Integer Operations

    • Set, Add, Subtract, Multiply, Divide, Unsigned Divide
    • Negate, Abs, Increment, Decrement
    • And, Or, Xor, Not, Shift, Test, Min, Max
    • Read 8-bit, 16-bit, and 32-bit
    • Read, Write, Compare, Unsigned Compare, Status

      Matrix Operations

    • Scalar Add, Subtract, Multiply, Divide, Power
    • Element-wise add, Subtract, Multiply, Divide, Power
    • Matrix multiply
    • Count, Sum, Average, Minimum, Maximum
    • Matrix copy

      Fast Fourier Transform Operation

    • uses matrix to store FFT data points
    • single instruction if all FFT data points fit in matrix
    • used iteratively in stages for larger FFT data sets
    • inverse transform also supported

      Conversion Functions

    • Convert 8-bit and 16-bit integers to floating point
    • Convert 8-bit and 16-bit integers to long integer
    • Convert long integer to floating point
    • Convert floating point to long integer
    • Convert floating point to formatted ASCII
    • Convert long integer to formatted ASCII
    • Convert ASCII to floating point
    • Convert ASCII to long integer
    • Serin, Serout for serial data communications

      User Defined Functions

    • Can be stored in Flash or EEPROM memory
    • Conditional execution
    • Table lookup
    • Reverse table lookup (float and long integer)
    • Nth order polynomials
    • Ret - for conditional returns

      Analog to Digital Conversion

    • Two 12-bit A/D channels
    • External input, timer or manual triggers
    • Optional scaling and conversion to floating point
    • Up to 10,000 samples per second

      String Handling

    • Select, insert, append
    • Search for characters
    • Search for fields (e.g. parsing a GPS NMEA sentence)
    • Convert selection to floating point or long integer


    • Checksum to calculate checksum for uM-FPU code
    • Left & Right for saving/moving registers
    • Readvar

Documentation [Hide]

You Might Also Like [Hide]


uM-FPU v3.1 Floating Point Math Coprocessor DIP18

The uM-FPU V3.1 math coprocessor is a full featured standalone math engine that is capable of crunching even the toughest of mathematical equations.

$19.95 USD


uM-FPU64 Breakout Board

The uM-FPU64 28-pin breakout board provides for convenient mounting and access to all uM-FPU64 pins.

$2.99 USD


3.3V Regulator TO-92 Pkg

A 3.3V voltage regulator! AMAZING!

$1.95 USD


3.3V Regulator TO-220 Pkg

Look, it's another voltage regulator! Look at it go! Vroom, vroom! (They go vroom, right?)

$2.05 USD


QTR-1A Reflectance Sensor (2-Pack)

The QTR-1A reflectance sensor carries a single infrared LED and phototransistor pair in an inexpensive, tiny 0.5" x 0.3" module that can be mounted almost anywhere and is great for edge detection and line following applications. This sensor is sold in packs of two units.

$4.25 USD


GM15 25:1 6mm Planetary Gear Pager Motor

This amazing little motor contains a 25:1 planetary gear reduction on top of a pager motor, all under 6mm diameter! It's smaller than many regular pager motors!

$19.00 USD


Grove - Tilt Switch

Super simple - it's a ball in a tube that plugs into the Grove system to detect tilt.

$2.05 USD


FTDI Basic Breakout (3.3V)

This is the SparkFun basic breakout board for the FTDI FT232RL USB to serial IC. The pinout of this board matches the FTDI cable to work with official Arduino and compatible (like the Freeduino SB) boards. 3.3V version.

$13.95 USD


Schottky Barrier Diode

We found a limited quantity of excellent Schottky diodes that have lower-than-usual voltage dropout

$0.50 USD


Quad Comparator

The LM339 is very similar to the LM324 but with open collector outputs.

$0.50 USD





Remember Me

Forgot Your Password?

Don't Have an Account?
Sign Up!