Ferroelectric RAM driver

Discuss development of drivers for external hardware and components, such as LCD screens, sensors, motor drivers, etc.
Target audience: Users and developers of drivers.
Post Reply
User avatar
pythoncoder
Posts: 5956
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Ferroelectric RAM driver

Post by pythoncoder » Mon Sep 21, 2015 4:48 pm

https://github.com/peterhinch/micropython-fram.git
A simple driver for the Adafruit 32KB FRAM module http://www.adafruit.com/product/1895. FRAM is a nonvolatile RAM having low power consumption and extremely long endurance (10^13 writes compared to 10,000 for the Pyboard's Flash memory). It is inherently byte addressable for read and write; consequently writing can be faster than Flash devices which require slow sector erase operations to enable a sector to be rewritten. FRAM has application in data logging and to preserve state after power down or between calls to pyb.standby().

The driver supports from 1 to 8 devices, configuring them as a single memory block. The block may be addressed as an array of bytes or can be mounted as a disk in the Pyboard filesystem.
Peter Hinch
Index to my micropython libraries.

User avatar
pythoncoder
Posts: 5956
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: Ferroelectric RAM driver

Post by pythoncoder » Wed Sep 07, 2016 12:19 pm

Updated today with two changes:
  • The constructor now takes an initialised I2C object to facilitate bus sharing.
  • Adapted to work on Pyboard or ESP8266.
Perhaps someone will find a use for it on the ESP to host a small, frequently updated, nonvolatile btree database.
Peter Hinch
Index to my micropython libraries.

Post Reply