-
Notifications
You must be signed in to change notification settings - Fork 3
Hardware Support
This readme lists the hardware currently supported by Loom, providing a brief description and links to relevant resources for each component
- Processors
- Telecommunication Capabilities
- Internet Capabilities
- Data Logging
- Sensors
- Actuators
- Other
Resources: Adafruit M0 Documentation | ATSAMD21 Datasheet
Resources: Adafruit Feather M0 LoRa Product Page
Dependencies: RadioHead
Features:
- Send messages up to 2 km line-of-sight.
- LoRa devices can be addressed with any value between 0 and 255.
- Can send messages of length up to 251 bytes.
Resources:
Dependencies: RF24 | RF24Network
The libraries for nRF support (RF24 and RF24Network) need to be the optimized forks, not the defaults provided the Arduino library manager.
Resources: Adafruit Feather M0 Bluefruit Product Page
Dependencies: Adafruit_BluefruitLE_nRF51
Resources: Adafruit Feather M0 WiFi Product Page
Dependencies: WiFi201
Features:
- Works in Access Point mode as well as WPA-protected client mode
Resources: Adafruit Ethernet Featherwing Product Page
Dependencies: EthernetLarge
Resources: SparkFun LTE CAT Shield - SARA-R4 Product Page
Dependencies: TinyGSM | AdruinoHttpClient
Features:
- The antenna has a gain of 3.8dBi around 1.7GHz to 2.7GHz
Additional Notes:
- Requires either to be plugged in with micro-USB or use a 5V power supply
- Requires separate 3.3V connection to communicate with the circuit board
- Uses a UART communication protocol
- To automatically turn on within Loom, Pin 5 on the shield needs to be connected to digital write to drive high and low. Otherwise, the Power Button on the shield needs to be pressed after plugged into the power supply to turn the shield on
Resources: SD Card | DS3231 RTC | Hypnos GitHub
Technical Details:
- In-house OPEnS PCB specialized for data logging, time keeping, and power switching
- SD card module for data logging
- DS3231 RTC for time keeping
- Power switching functionality through onboard MOSFETs
Resources: Adafruit Featherwing Product Page | Adafruit Breakout Product Page
Dependencies: SD
Note: There is a pin conflict between the Adafruit SD modules and Adafruit Ethernet Featherwing. Using both at the same time will result in one of the two modules not working
Resources: Adafruit Product Page | Adafruit Breakout Product Page
Dependencies:
Resources: Adafruit DS3231 Precision RTC FeatherWing Product Page
Dependencies: OPEnS_RTC
Resources: Adafruit Adalogger Featherwing Product Page
Dependencies: OPEnS_RTC
Note: There is a pin conflict between the Adafruit SD modules and Adafruit Ethernet Featherwing. Using both at the same time will result in one of the two modules not working
Resources: Adafruit Feather M0 Adalogger Product Page
Dependencies: SD
Note: There is a pin conflict between the Adafruit SD modules and Adafruit Ethernet Featherwing. Using both at the same time will result in one of the two modules not working
Note: The DS3231 and MPU6050 accelerometer have conflicting I2C addresses as they both share 0x68. The DS3231 address can not be changed, so when using both of these modules together, the DS3231 needs to be set to 0x68 and the MPU6050 should be set to 0x69.
Resources: Adafruit Product Page | Adafruit Datasheet
Dependencies: Adafruit ADS1X15
Technical Details
- 16 bit resolution
- Sample rate of 8 to 860 samples/second
- Power supply: 2.0V to 5.5V
- Low current consumption: 150uA
- 4 pin selectable I2C address
- 4 single ended inputs | 2 differential inputs
Resources: SparkFun Product Page | AS7262 Datasheet |GitHub
Dependencies: SparkFun AS726X
Technical Details
- 6 visible channels: 450nm, 500nm, 550nm, 570nm, 600nm and 650nm, each with 40nm FWHM
- Visible filter set realized by silicon interference filters
- 16-bit ADC with digital access
- Programmable LED drivers
- 2.7V to 3.6V with I2C interface
- 2x Qwiic connectors
Resources: SparkFun Product Page | AS7263 Datasheet | GitHub
Dependencies: SparkFun_AS726X
Technical Details
- 6 near-IR channels: 610nm, 680nm, 730nm, 760nm, 810nm and 860nm, each with 20nm FWHM
- NIR filter set realized by silicon interference filters
- 16-bit ADC with digital access
- Programmable LED drivers
- 2.7V to 3.6V with I2C interface
- 2x Qwiic connectors
Resources: SparkFun Product Page | AS7265x Datasheet
Dependencies: SparkFun_AS7265x
Technical Details
- Selectable interface: I2C or Serial (115200bps)
- 18 frequencies of light sensing from 410nm to 940nm
- 28.6 nW/cm2 per count
- Accuracy of +/-12%
- Integrated 405nm UV, 5700k White, and 875nm IR LEDs
- Software control over each illumination LED as well as current control
- Optional external bulb or illumination control
- Programmed with latest firmware from AMS
Resources: Adafruit Product Page | FXAS21002 Datasheet
Dependencies: Adafruit_FXAS21002C | Adafruit_AHRS | Adafruit_Sensor
Technical Details
- 2-3.6V Supply
- ±250/500/1000/2000°/s configurable range
- Output Data Rates (ODR) from 12.5 to 800 Hz
- 16-bit digital output resolution
- 192 bytes FIFO buffer (32 X/Y/Z samples)
- I2C 7-bit address 0x20, 0x21
Additional Notes
- Contained in the same sensor with FXOS8700
Resources: Adafruit Product Page | FXOS8700 Datasheet
Dependencies: Adafruit_FXOS8700 | Adafruit_AHRS | Adafruit_Sensor
Technical Details
- 2-3.6V Supply
- ±2 g/±4 g/±8 g adjustable acceleration range
- ±1200 µT magnetic sensor range
- Output data rates (ODR) from 1.563 Hz to 800 Hz
- 14-bit ADC resolution for acceleration measurements
- 16-bit ADC resolution for magnetic measurements
- I2C 7-bit address 0x1C, 0x1D, 0x1E, 0x1F
Additional Notes
- Contained in the same sensor with FXAS21002
Resources: SparkFun Product Page | HX711 Datasheet
Dependencies: HX711
Technical Details
- Operation Voltage: 2.7V–5V
- Operation Current: < 1.5mA
- Selectable 10SPS or 80SPS output data rate
- Simultaneous 50 and 60Hz supply rejection
Resources: SparkFun Product Page | LIS3DH Datasheet | GitHub
Dependencies: SparkFunLIS3DH
Technical Details
- 1.7V–3.6V
- Three Modes:
- Power-Down
- Normal
- Low-Power
- ±2g/±4g/±8g/±16g Dynamically Selectable Fullscale
- 10bit, 32-Level FIFO
- 6D/4D Orientation
- Free-fall Detection
- Motion Detection
- Embedded Temperature Sensor
Resources: MaxBoti Product Page | MB1232 Datahsheet
Dependencies: None
Technical Details
- Operates from 3.0-5.5V
- Range: 0-625cm
- Resolution of 1 cm
- Up to 40Hz reading rate
- 42kHz Ultrasonic sensor measures distance to objects
- I2C 7-bit address 0x70
Additional Notes
- Same address as multiplexer (0x70)
- Multiplexer must use another address if being used with this sensor
Resources: Adafruit MMA8451 Accelerometer Breakout Product Page | Adafruit Product Page
Dependencies: Adafruit_Sensor | Adafruit_MMA8451_Library
Technical Details
- ±2/4/8g
- 14 bit
Resources: Amazon Product Page | MPU6050 Datasheet
Dependencies: MPU6050
Technical Details
- Use the chip: MPU-6050
- Power supply :3-5v (internal low dropout regulator)
- Communication modes: standard IIC communications protocol
- Chip built-in 16bit AD converter, 16-bit data output
- Gyroscope range: ± 250 500 1000 2000 ° / s
Resources: Digi-Key Product Page | MS5803-02BA Datasheet
Dependencies: MS5803_02
Technical Details
- High resolution module, 20cm
- Fast conversion down to 1 ms
- Low power, 1 μA (standby < 0.15 μA)
- Integrated digital pressure sensor (24 bit ΔΣ ADC)
- Supply voltage 1.8 to 3.6 V
- Operating range: 300 to 1100 mbar, -40 to +85 °C
- Extended Pressure Range: 10 to 2000mbar
- I2C and SPI interface (Mode 0, 3)
- No external components (Internal oscillator)
- Excellent long term stability
- Hermetically sealable for outdoor devices
Additional Notes
- Does not come with PCB / breakout
Resources: Adafruit Product Page | SHT3x-DIS Datasheet
Dependencies: Adafruit_SHT31
Technical Details
- 2.4-5.5V Supply
- Temperature: -10-125 °C ±0.3°C
- Relative Humidity:0-100% ±2%
- I2C 7-bit address 0x44, 0x45
Additional Notes
- Has a heater function to remove condensation
Resources: Adafruit Product Page | Adafruit Datasheet
Dependencies: Adafruit Seesaw Library
Technical Details
- 3V to 5V rating
- 2 I2C addresses: 0x36 and 0x39
Resources: Adafruit Product Page
Dependencies: Adafruit_TMP007_Library
Resources: Adafruit Product Page | TSL2561 Datasheet
Dependencies: Adafruit_TSL2561_U | Adafruit_Sensor
Technical Details
- Approximates Human eye Response
- Precisely Measures Illuminance in Diverse Lighting Conditions
- Temperature range: -30 to 80 *C
- Dynamic range (Lux): 0.1 to 40,000 Lux
- Voltage range: 2.7-3.6V
- Interface: I2C
- This board/chip uses I2C 7-bit addresses 0x39, 0x29, 0x49, selectable with jumpers
Resources: Adafruit Product Page | TSL2591 Datasheet
Dependencies: Adafruit_TSL2591 | Adafruit_Sensor
Technical Details
- Approximates Human eye Response
- Extremely wide dynamic range 1 to 600,000,000 Counts
- Lux Range: 188 uLux sensitivity, up to 88,000 Lux input measurements.
- Temperature range: -30 to 80 C
- Voltage range: 3.3-5V into onboard regulator
- I2C 7-bit address 0x29
Additional Notes
- Settable gain depending on light conditions
- Settable integration time for collecting light
Resources: SparkFun Product Page | Sparkfun ZX Datasheet
Dependencies: ZX_Sensor
Technical Details
- 2-3.6V Supply
- I2C 7-bit address 0x10, 0x11
Additional Notes
- Can only use either the gesture function or the read function but can't use both at the same time
- Has UART capabilities
Resources: Adafruit Product Page | Adafruit Datasheet
Dependencies: Adafruit-MAX31855-library
- Works with any K type thermocouple
- Will not work with any other kind of thermocouple other than K type
- -200°C to +1350°C output in 0.25 degree increments - note that K thermocouples have about ±2°C to ±6°C accuracy
- Internal temperature reading
- 3.3 to 5v power supply and logic level compliant!
- SPI data output requires any 3 digital I/O pins.
Loom currently supports operation of the Adafruit MAX31856 Universal Thermocouple Amplifier in both K-type thermocouple operation and generic voltage operation. K-type thermocouple operation allows the user to directly measure temperatures, when the amplifier is used in conjunction with a K-type thermocouple, and the generic voltage operation allows the user to measure the voltage across any thermocouple attached to the amplifier.
Resources: Adafruit Product Page | Adafruit Datasheet
Dependencies: Adafruit MAX31856
IMPORTANT NOTE: The Adafruit thermocouple library has been modified to include functionality to read the thermocouple voltage directly. The modified library can be found here.
The following SDI-12 sensors are currently supported by Loom:
- Decagon GS3
- Decagon 5TM Datasheet
The following pins are available for use with SDI-12 sensors:
- Feather M0: 10, 11, A0, A1, A3, A4, A5
Additional pins may be operational, but they have not been verified.
Resources: CO2Meter Product Page | CO2 Datasheet
Dependencies: Wiring_Private
Technical Details
- Can be customized in many ways to measure CO2
- CO2 range: 0 to 100,000 ppm
- Voltage range: 5.5-14V maximum, but 5 - 9v is preferred range
- Serial Sensor UART 7-bit address 0xFE, 0X44, 0X00, 0X08, 0X02, 0X9F, 0X25
Additional Notes
For Hardware setup on MO board, these are the following pins to be connected:
- Feather MO: 11 to RxD, 12 to TxD, USB to G+, and GND to G0
The sensor needs to warm up about 6 minutes to get accurate data value. Please let it warm up first.
The following Actuators are currently supported by Project Loom:
Resources: Adafruit Product Page | PCA9685 Datasheet
Dependencies: Adafruit_PWMServorDriver
Technical Details
- There's an I2C-controlled PWM driver with a built in clock. That means that, unlike the TLC5940 family, you do not need to continuously send it signal tying up your microcontroller, its completely free running!
- It is 5V compliant, which means you can control it from a 3.3V Feather and still safely drive up to 6V outputs (this is good for when you want to control white or blue LEDs with 3.4+ forward voltages)
- 6 address select pins so you can stack up to 62 of these on a single i2c bus, a total of 992 outputs - that's a lot of servos or LEDs
- Adjustable frequency PWM up to about 1.6 KHz
- 12-bit resolution for each output - for servos, that means about 4us resolution at 60Hz update rate
- Configurable push-pull or open-drain output
Possible Servos
Resources: Adafruit Product Page | TB6612FNG Datasheet
Dependencies: Adafruit_PWMServorDriver | Adafruit MotorShield
Technical Details
- 4 full H-Bridges: the TB6612 chipset provides 1.2A per bridge with thermal shutdown protection, internal kickback protection diodes. Can run motors on 4.5VDC to 13.5VDC.
- Up to 4 bi-directional DC motors with individual 12-bit speed selection (so, about 0.02% resolution)
- Up to 2 stepper motors (unipolar or bipolar) with single coil, double coil, interleaved or micro-stepping.
- Motors automatically disabled on power-up
- Big 3.5mm terminal block connectors to easily hook up wires (18-26AWG) and power
- Polarity protected 2-pin terminal block and jumper to connect external power, for separate logic/motor supplies
- Completely stackable design: 5 address-select jumper pads means up to 32 stackable wings: that's 64 steppers or 128 DC motors! What on earth could you do with that many steppers? I have no idea but if you come up with something send us a photo because that would be a pretty glorious project.
- Download the easy-to-use Arduino software library, check out the examples and you're ready to go!
Possible Stepper Motors
Resources: Adafruit Product Page | G5LE Datasheet
Dependencies: None
Technical Details
- Latching
- Switch up to 10A of resistive-load current at 120VAC, 5A at 240VAC.
Resources: Adafruit Page
Dependencies: Adafruit Neopixel
Tri-color LEDs
Product Page: Adafruit | TCA9548A Datasheet
Dependencies: None
Technical Details
- 1.8V - 5V Supply
- Use up to 8 multiplexer simultaneously
- Use up to 64 I2C sensors with the same address (8 per multiplexer)
- I2C 7-bit address 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77
Additional Notes
- Address can be changed by using solder bridges on the back of the board
- Initial Multiplexer address (0x70) conflicts with MB1232