Dash Firmware and Arduino Integration Updates


#1

Hi everyone, we’ll use this thread as a changelog for updates to the Dash system firmware and to the Arduino integration.

Today we released version 0.7.1 of the Arduino integration. The IDE should give you the option to upgrade automatically. Changes include:

  • Fixes to printing floating point numbers
  • New sleep functions for switching the user module into a lower power state
  • Fix some USB bugs
  • Fix Arduino build warnings
  • Functions to query battery percentages
  • I2C master mode
  • Distinguish better between USB and OTA in the programmer menu

We also released version 0.6.1 of the Dash updater utility. This is installed as part of the Arduino integration and will also be available on our website for direct download tomorrow. Changes include:

  • File open dialog now works correctly on OSX
  • Cleaned up some error messages and made some more helpful

Hope you guys like all this. Stay tuned for more updates soon.


#2

#3

Today we released version 0.7.2 of the Arduino integration. Changes include:

  • Use indexed pins for Arduino compatibility
  • Large buffers for serial USB
  • Fix to snooze()
  • Changed IO interrupts to use attachInterrupt()

We also released version 0.6.2 of the Dash updater utility. One fix in it this time:

  • Fix an occasional crash when doing a USB update on OSX

#4

Today we released version 0.9 of the Arduino integration. Lots of exciting changes in this one:

  • Add timed deep sleep functions
  • Fix some pin naming issues
  • Implement analogWrite()
  • Fix issues in flushing serialUSB
  • Add some SPI compatibility functions
  • Add digitalPinToInterrupt function for compatibility
  • Fixes to deep sleep
  • Make micros() more accurate
  • Change USB vendor id to allow for the use of a signed driver (You’ll need to recompile and reupload your user program for the signed driver to work.)

We also released version 0.7 of the dash updater utility. This contains some significant changes as well:

  • When you perform a user program update, the utility will check to see if you have the latest bootloader and system firmware and offer you the option to download them and update the device (Updating the bootloader is strongly recommended as this will switch the Dash over to our reserved PID and VID values and allow for the use of our signed driver.)
  • Improvements to our build process on Windows

#5

Today we released version 0.7.1 of the Dash Updater utility. Fixes:

  • Fixed issues with running on Windows 7
  • Put a cool hologram icon on the binary (just shows up on Windows at the moment)

Right now, it’s available at https://hologram.io/docs/hardware/hologram-dash/downloads/ and we’ll be bundling it with the next version of the Arduino integration.


#6

Today we released version 0.9.1 of the Arduino Integration. Your Arduino IDE should start bugging you to upgrade soon.
Fixes:

  • Battery management functions
  • IDE now uses Dash Updater 0.7.1 by default so Win7 users should no longer have issues
  • Slave mode driver for I2C
  • Add user setting of ADC sample cycles
  • Add Serial Number function to Dash Class

#7

Today we released version 0.9.7 of the Dash system firmware:

Fixes:

  • First message bug is finally fixed!
  • Connection will be much more reliable and should automatically reconnect if it goes down.
  • Fewer modem resets

Ways to send AT commands to Ublox!
#8

Today we released version 0.7.2 of the Dash Updater and version 0.9.2 of the Arduino IDE integration.

Changes:

  • Battery fuel gauge access is now split into a separate FuelGauge class outside of the Dash class. Docs will be updated very soon to reflect this.
  • Dash.begin() is now called automatically.
  • Battery charger is now cycled automatically though it can be manually controlled if needed.
  • Dash Updater will show the success message in the Arduino console instead of popping up a dialog box. Error messages will still pop up.
  • Dash updater now can be run with --text-mode for a full CLI experience.
  • Dash updater supports organizations so you can do an OTA update on a device in any organization that you belong to
  • Menu items to select Dash-related things in Arduino IDE are now named with hologram.io instead of konekt.io

#9

Documentation about the above change to the battery monitor has been updated. The gist is that instead of calling Dash.batteryMillivolts() (or another battery function) call Charger.batteryMillivolts() instead.

See https://hologram.io/docs/reference/dash/api#battery-charger for more information.


#10

Today we released version 0.9.8 of the Dash system firmware and version 0.10.0 of the Dash Arduino Integration. This is a really exciting update that revamps our entire IPC system so that we can add cool features like:

  • Cell signal strength
  • Smarter SMS handling with callback functions
  • Topics on cloud messages
  • Lots more stuff

For more information see Upcoming exciting (but breaking) Dash firmware and library changes


#11

Today we released version 0.9.9 of the Dash system firmware and version 0.10.1 of the Dash Arduino Integration. Lots of cool stuff in here:

  • Receive and respond to inbound data packets
  • Functions for getting cellular operator and ICCID
  • Renamed tags to topics in function names (old functions still exist, but are deprecated)

We also released version 0.7.3 of the Dash updater. This is available on the download page and is included in 0.10.1 of the Arduino integration. Changes:

  • Fix issue with doing OTA update to a device on an organization
  • Update some internal libraries that seems to fix some issues on older versions of Windows.

#12

Today we released version 0.9.10 of the Dash system firmware and version 0.10.2 of the Dash Arduino integration. These updates include:

  • Cell Locate functionality
  • New passthrough functionality for direct access to the modem
  • Improvements in SPI library compatibility including new “ALT SPI” option in the IDE to choose other set of SPI pins
  • Improvements to memory usage on system module
  • SMS timestamp is now in local time
  • Add pulseIn Arduino function
  • This version of the system firmware will be open sourced on github. Stay tuned for that over the next couple days.

#13

We released a new version (0.5) of the default Dash serial gateway sketch today. You can get the source for it at https://github.com/hologram-io/hologram-dash-arduino-examples/tree/master/konekt_user_module_serial_gateway
This version is cleaned up to fit with the new system firmware and we have released a pre-compiled binary on the download page.


#14

Today we released version 0.9.11 of the Dash system firmware. This fixes an intermittent issue with OTA updates. You’ll be prompted to update when you use the Dash uploader or you can download the update from our downloads page.


#15

Today we released version 0.9.12 of the Dash system firmware. This fixes an issue where the firmware might hang when attaching an SMS handler. Overall SMS handling is improved in this version as well.

We also released version 0.10.3 of the Arduino IDE integration. This also improves some SMS handling and adds support for the Arduino Tone functions to improve overall Arduino library compatibility.


#16

Today we released version 0.9.13 of the Dash system firmware and 0.10.4 of the Arduino IDE integration. Changes include:

  • Fix issues with SMS including a timezone error
  • Add default timeout to pulseIn function
  • Fix example code
  • Add new network registration states

We’ll be pushing out some updates to the docs in the next couple days


#17

Today we released version 0.10.5 of the Arduino IDE integration. This fixes a bug in version 0.10.4 that could potentially cause a hard fault on the microcontroller when the cellular network changes state. We strongly recommend updating to this version as soon as possible.


#18

Today we released version 0.11.0 of the Arduino IDE Integration and version 0.10.1 of the Dash system firmware. You will need to rebuild your user program against the new integration in order to use the new system firmware.
Changes:

  • New API calls and REPL commands for new features on the Dash 1.2 including improved power management and RGB LED
  • Improved state machine to make connection more stable
  • Add API call and REPL command for getting IMEI
  • Add API call and REPL command for setting system LED
  • Add API call and REPL command for getting time in UTC
  • REPL now runs on USB and UART at the same time

Persistant Data storage
#19

Today we released version 0.11.1 of the Arduino IDE Integration and version 0.10.3 of the Dash system firmware. You will need to rebuild your user program against the new integration in order to use the new system firmware.
Changes:

  • Persistent data storage: you can now write bytes to flash memory. For now you need to specify an address on an 8-byte boundary though we may abstract around this in the future. See documentation for more information.
  • Cleaned up some of the example sketches
  • Bug fixes to connection and message send state machines. Should make things more reliable