From 7d35fa842b8b840fd71e67cd4507b3a4d238a8b2 Mon Sep 17 00:00:00 2001 From: David Montero Crespo Date: Tue, 25 Aug 2026 02:02:08 +0200 Subject: [PATCH] feat(picker): every closed component now has its ONLINE card MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The last ten: the thermal trio (DC motor, heater block, SSR) and the seven DFRobot Gravity parts — CO, ECG, soil moisture, industrial pH, the C4001 radar, the HuskyLens and the DF2301Q voice recogniser. That completes the shop window: every part the hosted overlay merges is now advertised in OSS, thumbnail and all, instead of a self-hoster having no way to learn it exists. Each card still retires itself in the hosted build. --- frontend/src/lib/onlineOnlyBoards.ts | 70 ++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/frontend/src/lib/onlineOnlyBoards.ts b/frontend/src/lib/onlineOnlyBoards.ts index 7b6a4b9a..e21495ab 100644 --- a/frontend/src/lib/onlineOnlyBoards.ts +++ b/frontend/src/lib/onlineOnlyBoards.ts @@ -353,6 +353,76 @@ export const ONLINE_ONLY_COMPONENT_ADS: OnlineOnlyComponentAd[] = [ category: 'displays', thumbnailSvg: "", }, + { + id: 'pro-dc-motor', + label: 'DC Motor / Fan', + description: 'A brushed motor that spins as fast as the PWM lets it, with inertia and a stall current - available in the online editor', + category: 'motors', + thumbnailSvg: "", + }, + { + id: 'pro-heater', + label: 'Heater Block', + description: 'A heater with real thermal mass: it warms what is around it and cools to ambient when you cut the power - available in the online editor', + category: 'output', + thumbnailSvg: "", + }, + { + id: 'pro-ssr', + label: 'Solid State Relay (SSR-25DA)', + description: 'Zero-cross solid-state relay: a logic pin switches the load, the way a real oven or reflow controller drives one - available in the online editor', + category: 'electromech', + thumbnailSvg: "", + }, + { + id: 'dfr-mq7-co', + label: 'Gravity: Analog CO Sensor (MQ7)', + description: 'Analog carbon-monoxide sensor on an ADC pin, with a slider for the ppm in the air - available in the online editor', + category: 'input', + thumbnailSvg: "", + }, + { + id: 'dfr-ecg-ad8232', + label: 'Gravity: Heart Rate Monitor (ECG, AD8232)', + description: 'AD8232 ECG front-end whose analog output is a real PQRST waveform, at the BPM you dial in - available in the online editor', + category: 'input', + thumbnailSvg: "", + }, + { + id: 'dfr-soil-moisture', + label: 'Gravity: Capacitive Soil Moisture (IP65)', + description: 'Capacitive soil probe: drier soil, higher voltage, and a slider to water the pot - available in the online editor', + category: 'input', + thumbnailSvg: "", + }, + { + id: 'dfr-ph-industrial', + label: 'Gravity: Industrial Analog pH Sensor', + description: 'Industrial pH probe and transmitter, on the curve the DFRobot_PH library expects - available in the online editor', + category: 'input', + thumbnailSvg: "", + }, + { + id: 'dfr-c4001-mmwave', + label: 'Gravity: C4001 24GHz mmWave Radar', + description: '24GHz FMCW radar for presence and motion over I2C: walk a target in and out of its cone - available in the online editor', + category: 'input', + thumbnailSvg: "", + }, + { + id: 'dfr-huskylens', + label: 'HuskyLens AI Vision Sensor', + description: 'The plug-and-play K210 AI camera, modelled whole: live screen, the algorithm menu, and faces and tags it learns - available in the online editor', + category: 'input', + thumbnailSvg: "", + }, + { + id: 'dfr-df2301q-voice', + label: 'Gravity: DF2301Q Voice Recognition', + description: 'Offline speech recognition that reports command IDs over I2C - speak to it from the canvas - available in the online editor', + category: 'input', + thumbnailSvg: "", + }, { id: 'm5stack-chain-8x8', label: 'M5Stack Chain RGB Matrix (8\u00d78)',