Skip to Content
Lumensalis CircuitPython framework coming soon 🎉

Supported Controllers

BoardShieldStandardChipRamFlashFeatures
Lolin S2 Mini D1MiniESP32-S22MB4MBD1MPC1
Lolin S3 Mini D1MiniESP32-S32MB4MBD1MPC1
Lilygo T-OI+ D1MiniESP32-C3400K4MBD1MPC1, battery

Supported D1 Mini shields

(these require a D1Mini shield compatible controller )

ShieldDesignerFeatures
Cilgerran Castle Terrain-Tronics6x High Power LED and DC Motor driver
Harlech Castle Terrain-TronicsSmart 8xLED Controller
Caernarfon Castle Terrain-TronicsNeoPixel, IR, Qwiic/StemmaQT, triple servo
Caerphilly Castle Terrain-TronicsCarrier board with NeoPixel, IR, Qwiic/StemmaQT

Supported StemmaQT / Qwiic devices

DeviceDesignerFeatures
Harlech Castle XL Terrain-TronicsI2C (Qwiic/StemmaQT) 24 LED controller
AW9523 AdafruitI2C GPIO Expander with LED Driver
TLV493D Adafruit3D Magnetic Sensor
MPR121 AdafruitCapacitive Touch Sensor
Wii Nunchuk AdafruitWii Nunchuk Controller
PCA9685 Adafruit16-Channel 12-bit PWM/Servo Driver
QtRotaryEncoder AdafruitI2C Rotary Encoder
VL53L0X AdafruitI2C Time-of-Flight Distance Sensor

Generic I2C

DeviceFeatures
SSD1306OLED display

Supported Hardware

In order to use all the nifty hardware that provides Inputs and/or Outputs, LCPF needs to know what hardware you are using. This is usually a fairly complex part of an embedded project. LCPF makes this much easier2. For example, if you use a Lolin S2 Mini  with a Terrain-Tronics Caernarfon Castle Kit , IR remote, 35 NeoPixel LEDS, and two servo motors, your entire code for device configuration could be as simple as

caernarfon = mainManager.TerrainTronics.addCaernarfon(neoPixelCount=35) doorMotor = caernarfon.initServo( 1, "doorDrive" ) windowMotor = caernarfon.initServo( 2, "windowMotor" ) remote = caernarfon.addIrRemote()

No pins assignments, no addresses, no board types - LCPF handles all that for you.2 For example, if you use a Lolin S2 Mini  with a Terrain-Tronics Caernarfon Castle Kit , configuration is as simple as

caernarfon = mainManager.TerrainTronics.addCaernarfon()

There’s no need what kind of controller you’re running on 3 - LCPF figures that out for you. And since it knows where the various parts of the Caernarfon Castle board are connected, there’s no need to specify pin assignments. So if you are using the IR remote, 35 NeoPixel LEDS, and two servo motors, your entire code for device configuration could be

caernarfon = mainManager.TerrainTronics.addCaernarfon(neoPixelCount=35) doorMotor = caernarfon.initServo( 1, "doorDrive" ) windowMotor = caernarfon.initServo( 2, "windowMotor" ) remote = caernarfon.addIrRemote()

Footnotes

  1. D1MPC = D1 Mini Pin Compatible, accepts Wemos Mini shields (like Terrain-Tronics Castle boards) ↩ ↩2 ↩3

  2. IF you stick within the “curated” set of hardware options. However, there are already a few dozen supported devices and the list continues to grow. ↩ ↩2

  3. Currently supported controllers include Lolin S2 Mini, Lolin S3 Mini, and the Lilygo T-OI Plus ↩

Last updated on