10/28/2019 at 15:58 •
The QWIIC edition is now fully stocked with all permutations of address, assembly and EEPROM.
Now available in red! (purple ones ship first, picture updates will happen)
10/21/2019 at 23:01 •
This project is now OSHWA Certified - Open Source Hardware Association
09/26/2019 at 17:51 •
A new addition to the range - the QWIIC Edition. This has two Sparkfun QWIIC connectors in place of the 0.1" header and Grove..
Currently in OshPark purple, and 3 available. Red boards are in the mail.
I have reached out to Sparkfun to see if I can sell them through their site, but have not heard back. So they will be on Tindie at least for now at https://www.tindie.com/products/18118/
06/23/2019 at 20:31 •
v2.0.0 is checked in and should appear in the library manager soon.
The code has all been combined into the ACE128.h file so we can use #defines in there to turn on and off bits of unused code for different projects. So when I say uncomment #define below I mean in the ACE128.h library file itself. These don't work from your .ino file beacuse of the way the Arduino IDE compiles stuff.
This is a major release upgrade due to the following two non backward compatible changes introduced to remove little used code and save FLASH.
- MCP23008 support is no longer enabled by default. Uncomment #define ACE128_MCP23008 to turn it back on.
- Direct pin attachment is no longer enabled by default. Uncomment #define ACE128_ARDUINO_PINS to turn it back on. This will turn off I2C pin expander code - I figure nobody uses both. If you do, let me know.
- Support for SAM controllers e.g. MKR series Arduinos. This is actually just not calling the EEPROM stuff for these units, as they don't have EEPROM. This means that by default they cannot save state, which brings us to:
- Support for I2C EEPROM to save state. Enable this by uncommenting #define ACE128_EEPROM_I2C. It will use a chip at address 0x50 by default.
- Support for disabling the EEPROM code altogether to save flash. Uncomment #define ACE128_EEPROM_NONE for this. This is the default for the SAM units and removes the EEPROM constructors.
- New board revision 3.1. Supports an I2C EEPROM chip. Rounded corners to be easier on the ziploc bags.
- Reworked ACE128test.ino with lots of comments - this is now the primary usage instructions. Also now supports serial display by default with I2C LCD as an option. Direct connect LCD support removed.
- added two examples ace128_0x20 and ace128_0x38 for module customers to test their units out of the box.
11/27/2018 at 05:49 •
Prototype v3.0 boards in the works at oshpark.com
Main change is the addition of a footprint for a Microchip SOT-23-5 I2C EEPROM
This will theoretically provide EEPROM storage to retain state on microcontrollers without internal EEPROM.
Other footprints unchanged so I can use the old stencil when this is not populated.
- Fiducials for cnc pick and place
- Filled in circles on the address silk screen
- Rounded corners to make it less poky on the packaging
This is not checked in yet.
11/15/2018 at 18:15 •
A customer plugged a module into their Arduino MKR WiFI 1010 and discovered the code did not compile.
The current library code uses EEPROM to remember the zero position and multi-turn offset between power cycles.
Some of the new Arduino boards such as the Zero and the MKR use the SAMD21 chip which has no EEPROM memory, and therefore the current library code is not compatible with these boards.
I welcome input from customers and observers as to how to work around this problem. Repeatedly writing to the SAMD21 flash instead via EEPROM emulation is generally not recommended due to the limited write cycles on that memory.
A couple of ideas:
- I am considering tweaking the next version of the board to optionally have an I2C EEPROM or FRAM chip.
- Another idea I was working on was a design using an ATTiny841 instead of the pin expander, which would run all the code on-board. I got carried away and wrote the code for this including using a spare pin and memory to drive synchronized neopixel rings. That idea has been on the shelf for a while. https://github.com/arielnh56/ace128tiny (looking at that code, I know I wrote more. Hope I still have it, will check in what I have)
06/09/2017 at 08:28 •
I just checked in the code port for python on the Raspberry Pi
I uses a file in place of the EEPROM for state saving, and the constructor builds the encoder map on the fly. Apart from that the functionality is the same as the Arduino library.
04/23/2017 at 04:01 •
- Board is now 1.2" square. This provides full support to all four corners of the sensor making soldering it on straight a non-fiddly process.
- It also adds some space to put sensibly sized solder jumpers for addressing
- The addition of a 10k resistor array for address pulldowns makes addressing easier and provides the unit with a default address - one less thing to do prior to testing.
- stainless steel stencil and reflow oven used this time. Much tidier result. All units tested good with no rework needed.
03/25/2017 at 20:31 •