Skip to main content

OpenBamboo Format

Overview​

The OpenBamboo format is a structured data format designed for storing filament spool information on NFC tags. It allows for better organization, tracking, and compatibility with AMS (Automatic Material System) while supporting custom filament profiles.

OpenBamboo uses Ntag213, Ntag215, Ntag216, and MIFARE Classic 1K NFC tags to store spool data, ensuring flexibility across different storage capacities.

📌 Supported NFC Tags & Storage​

Tag TypeStorage Capacity
Ntag213144 bytes
Ntag215504 bytes
Ntag216888 bytes
MIFARE Classic 1K716 bytes

📂 Data Structure​

The OpenBamboo format consists of multiple fields that store essential information about a filament spool. These fields are structured as a fixed-size C++ struct to ensure efficient storage and fast access.

1. Identification & General Information​

Field NameTypeSize (Bytes)Description
magicNumberuint16_t2Fixed identifier (0xCAFE) to validate OpenBamboo format.
vendorchar[16]16Brand or manufacturer of the filament.
namechar[32]32Custom spool name for easy identification.
materialIDchar[8]8Short identifier for filament material.
filamentTypechar[16]16Type of filament (e.g., PLA, ABS, PETG).

2. Physical Properties​

Field NameTypeSize (Bytes)Description
colorRGBAuint32_t4Color representation in RGBA format. (Editable)
spoolWeightuint16_t2Weight of the empty spool (grams). (Editable)
filamentDiameteruint16_t2Filament diameter in mm (e.g., 175 for 1.75mm). (Editable)
densityuint16_t2Material density value.
flowRatiouint16_t2Filament flow ratio for extrusion tuning.
temperatureVitrificationuint16_t2Temperature at which material transitions to a solid.
pressureAdvanceuint16_t2Pressure advance setting for smooth extrusion.
maxVolumetricSpeeduint16_t2Maximum volumetric speed in mm³/s.

3. Temperature & Drying Settings​

Field NameTypeSize (Bytes)Description
bedTemperatureuint16_t2Recommended bed temperature. (Editable)
hotendTemperatureuint16_t2Optimal hotend temperature.
maxHotendTemperatureuint16_t2Maximum allowable hotend temperature.
minHotendTemperatureuint16_t2Minimum required hotend temperature.
chamberTemperatureuint8_t1Suggested enclosure chamber temperature.
dryingTemperatureuint8_t1Recommended drying temperature. (Editable)
dryingTimeuint8_t1Recommended drying duration (hours). (Editable)

4. Spool Specifications & Additional Data​

Field NameTypeSize (Bytes)Description
spoolWidthuint16_t2Width of the spool in mm. (Editable)
productionDateuint16_t2Date of production (days since epoch). (Editable)
filamentLengthuint16_t2Total length of filament in meters. (Editable)
isSupportboolean1True if the filament is support material.
isSolubleboolean1True if the filament is soluble.
costuint16_t2Approximate cost of the spool in cents. (Editable)