Skip to content

Releases: HumanDynamics/openbadge

New firmware implementation (v3.0)

10 Dec 15:29
2f190d1
Compare
Choose a tag to compare

The new implementation of the badge's firmware. Master's Thesis Michael Hopfengärtner (@MichaelHopfengaertner). It uses the Nordic Semiconductor's SDK v12.3.0 for the nRF51822 chip of the badge.

Various new techniques and methods have been developed and integrated:

  • Filesystem: The internal flash-memory of the nRF51822 and the external EEPROM were abstracted and put together to provide one "large" virtual memory with byte level access. On the basis of this virtual memory a filesystem was implemented. It separates the available memory into partitions. A partition can be configured as static or dynamic. Static means that all elements stored in the partition must have the same size. In contrast, dynamic partitions allow a variable size of the elements. In dynamic partitions, a XOR linked list is used as data structure.
  • Tinybuf: A serialization library orientated at Google's Protocol Buffers. It enables an efficient serialization of structured data and is used for storage and transmission. It supports C and Python as programming languages. By using Tinybuf, the transmission protocol between the badges and hubs can be extended and adapted easily, enabling a fast development process.
  • Time synchronization: An exponential weighted moving average filter was implemented to robustly compensate oscillator frequency drifts during the time synchronization.
  • Testing framework: A framework that allows to easily create and execute tests. Optionally, test coverage can be enabled. This allows the developer to see how good the tests are and where to add some more (unit) tests.
  • ...

The firmware has a modular and maintainable architecture. This makes it relatively easy to migrate to other platforms.

The new firmware also transmit data twice as fast as the old one, enabling each hub to support more badges.

Migrated BadgeFramework and integration tests to bluepy

14 Aug 21:22
f0cf22d
Compare
Choose a tag to compare
Merge pull request #105 from HumanDynamics/dev

Fixing raspi issues

Hardware update, 03v6

07 Aug 20:02
b61c9d8
Compare
Choose a tag to compare

A new hardware version of the badge. Main changes:
*Accelerometer. Note that the accelerometer works, but badge code does not use it to collect data yet
*Removed real-time clock and all components from the back of the badge
*Removed button
*New on/off switch (more pick&place friendly)
*New battery holder

This version also includes a new firmware update to support and test these changes. Note that ehe test code no longer tests the button in boards 03v4.

Changes to scanner

15 May 02:25
7ea9a30
Compare
Choose a tag to compare
  • Badge aggregates multiple RSSIs using max instead of mean. Closes #97
  • Badge keeps room for several beacons in the scan. Closes #98
  • New LED startup sequence

Part of an effort to re-write the code, making it simpler and more efficient

12 Jan 20:53
Compare
Choose a tag to compare

A large change to the firmware. Includes battery life improvements, a new sampling methodology, much cleaner code, and some utilities to make future development easier.

Firmware fix - proximity and advertisment

10 Oct 21:00
Compare
Choose a tag to compare
Merge pull request #71 from HumanDynamics/adv_data_fix

Fix for advertising issue

Added support for iBeacons

15 Sep 00:45
Compare
Choose a tag to compare

Badges can now identify and save proximity to iBeacons
Also, this version includes a bugfix for handling more than 5 badges in the scan results.

Firmware - proximity scans

09 Sep 21:32
Compare
Choose a tag to compare

Note - updated communiction and BLE advertisment protocol

Firmware - audio data, partial chunks sending

08 Sep 18:20
Compare
Choose a tag to compare

This is the first complete firmware version. It samples audio data and stores it to chunks. It will also send partial (incomplete) chunks to support faster updates

Release used for SF17, H1

11 Jun 14:15
Compare
Choose a tag to compare

Note - the master branch does not include small modifications, such as hiding the "hammer" icon