Floating Point Co-Processor uM-FPU v3.1

Replacement: None. We are no longer carrying this uM-FPU in our catalog. This page is for reference only.

The new uM-FPU v3.1 by Micromega has all the proven features of the v3 with some interesting new GPS NMEA string parsing features. The uM-FPU v3.1 chip interfaces to virtually any microcontroller using a SPI, I2C, or serial 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. The uM-FPU v3.1 is RoHS compliant, operates from a 2.7V, 3.3V or 5V supply, and is available in 18-pin DIP, SOIC-18 or QFN-44 packages.

Interface examples are available for BASIC Stamp, Javelin, PICAXE, 16F87x, ARMmite, and ARMexpress controllers.

Long Integer Operations:

  • Set, Add, Subtract, Multiply, Divide, Unsigned Divide
  • Negate, Abs
  • Compare, Unsigned Compare, Status

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 ASCII
  • Convert floating point to formatted ASCII
  • Convert long integer to ASCII
  • Convert long integer to formatted ASCII
  • Convert ASCII to floating point
  • Convert ASCII to long integer
  • 18-pin DIP
  • Supports both I2C, SPI, and serial interfaces
  • 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
  • 10 to 20 times faster than uM-FPU V2 for all floating point operations
  • Up to 70 times faster for advanced instructions
  • 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
  • Easy migration from uM-FPU V2
  • See What's New in V3 for more details on new features

    Floating Point Operations:

  • Tons of new functions

  • Set, Add, Subtract, Multiply, Divide
  • Sqrt, Log, Log10, Exp, Exp10, Power, Root
  • Sin, Cos, Tan
  • Asin, Acos, Atan, Atan2
  • Floor, Ceil, Round, Min, Max, Fraction
  • Negate, Abs, Inverse
  • Convert Radians to Degrees
  • Convert Degrees to Radians
  • Compare, Status

Floating Point Co-Processor uM-FPU v3.1 Product Help and Resources

Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

2 Soldering

Skill Level: Rookie - The number of pins increases, and you will have to determine polarity of components and some of the components might be a bit trickier or close together. You might need solder wick or flux.
See all skill levels

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

3 Electrical Prototyping

Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • dkadish / about 8 years ago / 1

    I was wondering why these components were retired. Were they not useful, or was some fault found with them? Or was it just that they were not being used very frequently?

    I'm interested in using something like this and I'm wondering if this is still a good model of FPU co-processor to use!

    • My guess is that the sale rate for us was too low to justify continuing to carry it. You could try checking on the forums to see if folks are still working with the part.

  • Christopherrrr / about 14 years ago / 2

    This FPU is VERY cool. Micromega has an IDE on their website that lets you enter commands in very plain language, and then it converts them in to commands for the FPU. VERY handy, VERY cool!
    There is also a bunch of app notes to help out based on your microcontroller.
    IDE: http://www.micromegacorp.com/ide-v3.html
    App Notes: http://www.micromegacorp.com/appnotes.html#v3appnotes

  • GrahamC / about 12 years ago / 1

    It is worth noting that this processor has native supports fast fourier transforms and matrix operations. Could this be put in the description? I've tabled more than one project due to the difficulty of implementing FFT.

    • We have the matrix operations listed in the description already. In regards to FFT, we don't want to scare off customers with those nasty computations! (Kidding, mostly. They are really useful, so we'll see what we can do).

  • Maybe getting this to work with arduino migtht be nice. I want to see someone emulate AES256 on those MCU's.

  • Maybe getting this to work with arduino migtht be nice. I want to see someone emulate AES256 on those MCU's.

  • Member #75914 / about 12 years ago / 1

    Works fine with the PICAXE and I2C. The Micromega PICAXE library makes for a very good 'fast start' , getting the chip up and running. Some of the symbols used in the examples duplicate real PICAXE commands to I just renamed the command adding 32 to the name, for example cos32. I'm using a 128X64 graphic LCD for display which worked fine as some of the program examples are outputting up to 6 lines of info. Its going to take a while to master this chip.
    There is a 64 bit version in the works, should be even more interesting.

  • odriew / about 13 years ago / 1

    I may be unimaginative, but what might possibly require this kind of precision? 32 bits is a ton for even one value, let alone 128 of them.

    • Davidthefat / about 13 years ago / 6

      Intercontinental ballistic missiles...

    • JerZ / about 11 years ago / 1

      Apparently you’ve never written IK adaptive terrain algorithms with real-time environment feedback to control your hexapod with an Atmega2560. ;)

    • JerZ / about 11 years ago * / 1

      Thanks for the links. Interesting.

    • rwizard / about 13 years ago * / 1

      This device implements IEEE 754 compatible single precision (32 bits). Double precision would have been nice to have (64 bits). If you study up on computer math a bit you will appreciate the need for such things. Being an OF, I still lean towards BCD, which sadly appears not to be supported by this device. Here are some things you might want to look at:

    • WizenedEE / about 13 years ago / 1

      That's what I was thinking of modern computers. Who needs a terabyte hard drive when you still only use a byte per char in notepad?

Customer Reviews

No reviews yet.