hackshop-mcp 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -9
- package/catalog.json +1562 -17
- package/dist/catalog/schema.d.ts +510 -0
- package/dist/catalog/schema.js +47 -0
- package/dist/catalog/schema.js.map +1 -1
- package/dist/platforms/index.d.ts +26 -0
- package/dist/platforms/index.js +51 -0
- package/dist/platforms/index.js.map +1 -0
- package/dist/platforms/load.d.ts +4 -0
- package/dist/platforms/load.js +78 -0
- package/dist/platforms/load.js.map +1 -0
- package/dist/platforms/schema.d.ts +383 -0
- package/dist/platforms/schema.js +53 -0
- package/dist/platforms/schema.js.map +1 -0
- package/dist/sampling.d.ts +4 -0
- package/dist/sampling.js +17 -19
- package/dist/sampling.js.map +1 -1
- package/dist/server.js +135 -23
- package/dist/server.js.map +1 -1
- package/dist/telemetry.d.ts +29 -0
- package/dist/telemetry.js +100 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/tools/assess_hackability.d.ts +4 -0
- package/dist/tools/assess_hackability.js +44 -4
- package/dist/tools/assess_hackability.js.map +1 -1
- package/dist/tools/plan_gadget.d.ts +66 -0
- package/dist/tools/plan_gadget.js +406 -0
- package/dist/tools/plan_gadget.js.map +1 -0
- package/dist/tools/propose_hardware.d.ts +2 -0
- package/dist/tools/propose_hardware.js +38 -2
- package/dist/tools/propose_hardware.js.map +1 -1
- package/dist/tools/simulate_assembly.d.ts +315 -0
- package/dist/tools/simulate_assembly.js +145 -0
- package/dist/tools/simulate_assembly.js.map +1 -0
- package/package.json +4 -1
- package/platforms.json +448 -0
- package/tags.md +1 -0
package/catalog.json
CHANGED
|
@@ -21,7 +21,6 @@
|
|
|
21
21
|
"notes": "23-inch wall-mount picture frame, abandoned by manufacturer. Linux-based, SSH access via stock firmware bug. Founder revived one in ~6h with Claude assistance.",
|
|
22
22
|
"est_used_price_usd_min": 80,
|
|
23
23
|
"est_used_price_usd_max": 200,
|
|
24
|
-
"image_url": "https://image.wsj.net/im-86037",
|
|
25
24
|
"est_setup_hours_min": 4,
|
|
26
25
|
"est_setup_hours_max": 8
|
|
27
26
|
},
|
|
@@ -33,7 +32,8 @@
|
|
|
33
32
|
"sbc",
|
|
34
33
|
"low-power",
|
|
35
34
|
"creative-coding",
|
|
36
|
-
"kiosk"
|
|
35
|
+
"kiosk",
|
|
36
|
+
"agent-gadget"
|
|
37
37
|
],
|
|
38
38
|
"hack_difficulty": 1,
|
|
39
39
|
"brick_risk": 1,
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"notes": "Default tinkerer choice. Boring but always works. Use as baseline; recommend more interesting hardware first.",
|
|
47
47
|
"est_used_price_usd_min": 35,
|
|
48
48
|
"est_used_price_usd_max": 65,
|
|
49
|
-
"image_url": "https://
|
|
49
|
+
"image_url": "https://en.wikipedia.org/wiki/Special:FilePath/Raspberry_Pi_4_Model_B_-_Side.jpg?width=640",
|
|
50
50
|
"est_setup_hours_min": 1,
|
|
51
51
|
"est_setup_hours_max": 2
|
|
52
52
|
},
|
|
@@ -59,7 +59,8 @@
|
|
|
59
59
|
"low-power",
|
|
60
60
|
"creative-coding",
|
|
61
61
|
"kiosk",
|
|
62
|
-
"iot"
|
|
62
|
+
"iot",
|
|
63
|
+
"agent-gadget"
|
|
63
64
|
],
|
|
64
65
|
"hack_difficulty": 1,
|
|
65
66
|
"brick_risk": 1,
|
|
@@ -72,7 +73,6 @@
|
|
|
72
73
|
"notes": "Smaller than Pi 4B, lower power. Good for projects that need to be embedded/hidden. Reasonable Wi-Fi. Slightly slow CPU but usually enough.",
|
|
73
74
|
"est_used_price_usd_min": 15,
|
|
74
75
|
"est_used_price_usd_max": 25,
|
|
75
|
-
"image_url": "https://www.raspberrypi.com/app/uploads/2021/10/db5be9bd-2792-46cf-91dc-fb3a91ce5a45.png",
|
|
76
76
|
"est_setup_hours_min": 1,
|
|
77
77
|
"est_setup_hours_max": 2
|
|
78
78
|
},
|
|
@@ -99,7 +99,6 @@
|
|
|
99
99
|
"notes": "64x32 LED matrix, ESP32-based. Community firmware (Tronbyt) supports self-hosted apps without Tidbyt cloud.",
|
|
100
100
|
"est_used_price_usd_min": 120,
|
|
101
101
|
"est_used_price_usd_max": 200,
|
|
102
|
-
"image_url": "https://m.media-amazon.com/images/I/61j8KPFQOEL._UF1000,1000_QL80_.jpg",
|
|
103
102
|
"est_setup_hours_min": 1,
|
|
104
103
|
"est_setup_hours_max": 3
|
|
105
104
|
},
|
|
@@ -126,7 +125,7 @@
|
|
|
126
125
|
"notes": "2011 e-reader, Android 2.1 underneath. Well-documented root via SD card. Used widely as wall-mounted dashboard / status display.",
|
|
127
126
|
"est_used_price_usd_min": 15,
|
|
128
127
|
"est_used_price_usd_max": 35,
|
|
129
|
-
"image_url": "https://
|
|
128
|
+
"image_url": "https://en.wikipedia.org/wiki/Special:FilePath/Nook_Simple_Touch.jpg?width=640",
|
|
130
129
|
"est_setup_hours_min": 2,
|
|
131
130
|
"est_setup_hours_max": 5
|
|
132
131
|
},
|
|
@@ -154,7 +153,6 @@
|
|
|
154
153
|
"notes": "Older Kindles (PW2 era) jailbreak via known firmware paths. Used widely as low-power dashboard / calendar / weather displays. KOReader runs custom apps.",
|
|
155
154
|
"est_used_price_usd_min": 25,
|
|
156
155
|
"est_used_price_usd_max": 50,
|
|
157
|
-
"image_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/30/Amazon_Kindle_Paperwhite_2.jpg/640px-Amazon_Kindle_Paperwhite_2.jpg",
|
|
158
156
|
"est_setup_hours_min": 3,
|
|
159
157
|
"est_setup_hours_max": 8
|
|
160
158
|
},
|
|
@@ -207,7 +205,6 @@
|
|
|
207
205
|
"notes": "Dirt-cheap on eBay. Guided Access locks it to a single app for kiosk use. No jailbreak required for calendar/dashboard. Older models can run iOS 9.x.",
|
|
208
206
|
"est_used_price_usd_min": 30,
|
|
209
207
|
"est_used_price_usd_max": 70,
|
|
210
|
-
"image_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/Ipad-2.jpg/640px-Ipad-2.jpg",
|
|
211
208
|
"est_setup_hours_min": 1,
|
|
212
209
|
"est_setup_hours_max": 2
|
|
213
210
|
},
|
|
@@ -260,7 +257,6 @@
|
|
|
260
257
|
"notes": "Default ESP32 board for tinkering. Wi-Fi + BLE, runs MicroPython or Arduino. Common in DIY ambient displays, sensor relays, custom IoT projects.",
|
|
261
258
|
"est_used_price_usd_min": 5,
|
|
262
259
|
"est_used_price_usd_max": 15,
|
|
263
|
-
"image_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/fb/Espressif_ESP32_Chip%2C_microcontroller.jpg/640px-Espressif_ESP32_Chip%2C_microcontroller.jpg",
|
|
264
260
|
"est_setup_hours_min": 1,
|
|
265
261
|
"est_setup_hours_max": 3
|
|
266
262
|
},
|
|
@@ -358,7 +354,6 @@
|
|
|
358
354
|
"notes": "Discontinued e-paper smartwatch. Rebble.io keeps it alive with free app store and custom watchfaces. Cheap on eBay; week-long battery; SDK still works.",
|
|
359
355
|
"est_used_price_usd_min": 30,
|
|
360
356
|
"est_used_price_usd_max": 60,
|
|
361
|
-
"image_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Pebble_Time_Steel_Black.jpg/640px-Pebble_Time_Steel_Black.jpg",
|
|
362
357
|
"est_setup_hours_min": 1,
|
|
363
358
|
"est_setup_hours_max": 2
|
|
364
359
|
},
|
|
@@ -384,7 +379,6 @@
|
|
|
384
379
|
"notes": "$5-15 on eBay. Original Chromecast (not Ultra/Audio). Linux-based; community 'eureka-rom' projects exist for full control. HDMI output for an ambient TV display.",
|
|
385
380
|
"est_used_price_usd_min": 5,
|
|
386
381
|
"est_used_price_usd_max": 15,
|
|
387
|
-
"image_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d0/Google_Chromecast_-_2nd_Generation.jpg/640px-Google_Chromecast_-_2nd_Generation.jpg",
|
|
388
382
|
"est_setup_hours_min": 2,
|
|
389
383
|
"est_setup_hours_max": 5
|
|
390
384
|
},
|
|
@@ -459,7 +453,7 @@
|
|
|
459
453
|
"notes": "Massive modding scene. CFW (Luma3DS) enables homebrew, emulators, region-free play. Brick risk REAL on bad installs \u2014 the 3ds.hacks.guide walkthrough is the canonical source.",
|
|
460
454
|
"est_used_price_usd_min": 50,
|
|
461
455
|
"est_used_price_usd_max": 150,
|
|
462
|
-
"image_url": "https://
|
|
456
|
+
"image_url": "https://en.wikipedia.org/wiki/Special:FilePath/Nintendo-3DS-AquaOpen.png?width=640",
|
|
463
457
|
"est_setup_hours_min": 2,
|
|
464
458
|
"est_setup_hours_max": 4
|
|
465
459
|
},
|
|
@@ -509,7 +503,7 @@
|
|
|
509
503
|
"notes": "The classic. Not Wi-Fi, not powerful, but trivially programmable for sensors, motor control, blinkenlights. First step before ESP32 for many tinkerers.",
|
|
510
504
|
"est_used_price_usd_min": 10,
|
|
511
505
|
"est_used_price_usd_max": 25,
|
|
512
|
-
"image_url": "https://
|
|
506
|
+
"image_url": "https://en.wikipedia.org/wiki/Special:FilePath/Arduino_Uno_-_R3.jpg?width=640",
|
|
513
507
|
"est_setup_hours_min": 1,
|
|
514
508
|
"est_setup_hours_max": 2
|
|
515
509
|
},
|
|
@@ -538,7 +532,6 @@
|
|
|
538
532
|
"notes": "800x480 mono e-paper, drives off Pi Zero W via SPI. THE canonical kitchen-calendar build (MagInkCal, InkyPi). Refresh ~2-5s; perfect for static daily layouts. Pair with Pi Zero W for the classic combo.",
|
|
539
533
|
"est_used_price_usd_min": 50,
|
|
540
534
|
"est_used_price_usd_max": 90,
|
|
541
|
-
"image_url": "https://www.waveshare.com/img/devkit/general/7.5inch-e-Paper-HAT/7.5inch-e-Paper-HAT-1.jpg",
|
|
542
535
|
"est_setup_hours_min": 4,
|
|
543
536
|
"est_setup_hours_max": 8
|
|
544
537
|
},
|
|
@@ -593,7 +586,6 @@
|
|
|
593
586
|
"notes": "800x480 SEVEN-COLOR e-paper HAT. 7-color e-ink is rare \u2014 great for ambient art rotation, family photos, weather displays. Slow refresh (~30s) so static-frame use only. Pi Zero W compatible.",
|
|
594
587
|
"est_used_price_usd_min": 90,
|
|
595
588
|
"est_used_price_usd_max": 130,
|
|
596
|
-
"image_url": "https://shop.pimoroni.com/cdn/shop/files/inky-impression-7-3-2025-edition-1.jpg",
|
|
597
589
|
"est_setup_hours_min": 3,
|
|
598
590
|
"est_setup_hours_max": 6
|
|
599
591
|
},
|
|
@@ -622,7 +614,6 @@
|
|
|
622
614
|
"notes": "10.3\" mono e-paper with stylus. Linux underneath. Toltec package manager + Oxide launcher = full custom OS. Premium ($300+) but a polished tinkerer device. Expensive failure mode if bricked.",
|
|
623
615
|
"est_used_price_usd_min": 200,
|
|
624
616
|
"est_used_price_usd_max": 400,
|
|
625
|
-
"image_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/89/ReMarkable_2.png/640px-ReMarkable_2.png",
|
|
626
617
|
"est_setup_hours_min": 2,
|
|
627
618
|
"est_setup_hours_max": 5
|
|
628
619
|
},
|
|
@@ -702,5 +693,1559 @@
|
|
|
702
693
|
"est_used_price_usd_max": 160,
|
|
703
694
|
"est_setup_hours_min": 1,
|
|
704
695
|
"est_setup_hours_max": 2
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
"id": "valve-steam-link",
|
|
699
|
+
"name": "Valve Steam Link",
|
|
700
|
+
"category": "handheld",
|
|
701
|
+
"idea_fit_tags": [
|
|
702
|
+
"retrogaming",
|
|
703
|
+
"network",
|
|
704
|
+
"iot"
|
|
705
|
+
],
|
|
706
|
+
"hack_difficulty": 2,
|
|
707
|
+
"brick_risk": 2,
|
|
708
|
+
"brick_provenance": "community-reported",
|
|
709
|
+
"last_verified": "2026-05-06",
|
|
710
|
+
"firmware_links": [
|
|
711
|
+
"https://github.com/ValveSoftware/steamlink-sdk",
|
|
712
|
+
"https://github.com/coolkingcole/Steamlink_hacking"
|
|
713
|
+
],
|
|
714
|
+
"community_size_bucket": "small",
|
|
715
|
+
"notes": "Discontinued streaming box running custom Linux (kernel 3.8, ARMv7). Valve provides official SDK with OpenGL ES 2.0, Qt 5.14, SDL 2.0. Enable root SSH by placing enable_ssh.txt on USB at /steamlink/config/system/; default password steamlink123. Factory test mode runs arbitrary scripts from /steamlink/factory_test/run.sh at boot. 256MB RAM and 1GB flash limit capability. Community builds Kodi, emulators, and custom launchers.",
|
|
716
|
+
"est_used_price_usd_min": 25,
|
|
717
|
+
"est_used_price_usd_max": 50,
|
|
718
|
+
"est_setup_hours_min": 1,
|
|
719
|
+
"est_setup_hours_max": 3
|
|
720
|
+
},
|
|
721
|
+
{
|
|
722
|
+
"id": "google-pixel-3a",
|
|
723
|
+
"name": "Google Pixel 3a",
|
|
724
|
+
"category": "handheld",
|
|
725
|
+
"idea_fit_tags": [
|
|
726
|
+
"handheld",
|
|
727
|
+
"educational"
|
|
728
|
+
],
|
|
729
|
+
"hack_difficulty": 2,
|
|
730
|
+
"brick_risk": 2,
|
|
731
|
+
"brick_provenance": "community-reported",
|
|
732
|
+
"last_verified": "2026-05-06",
|
|
733
|
+
"firmware_links": [
|
|
734
|
+
"https://github.com/LineageOS/android_device_google_sargo",
|
|
735
|
+
"https://wiki.lineageos.org/devices/sargo/"
|
|
736
|
+
],
|
|
737
|
+
"community_size_bucket": "active",
|
|
738
|
+
"notes": "Official LineageOS support from 17.1 through 22.2 (Android 10-15). Snapdragon 670, 4GB RAM, OLED display. Unlock bootloader with fastboot flashing unlock. Firmware ships in ROM package so no manual firmware updates needed. eSIM enrollment broken if not enrolled before upgrade. Active maintainer (mikeNG), monthly-ish OTAs. Kernel source: github.com/LineageOS/android_kernel_google_msm-4.9. Large XDA community.",
|
|
739
|
+
"est_used_price_usd_min": 55,
|
|
740
|
+
"est_used_price_usd_max": 90,
|
|
741
|
+
"est_setup_hours_min": 1,
|
|
742
|
+
"est_setup_hours_max": 2
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
"id": "oneplus-5t",
|
|
746
|
+
"name": "OnePlus 5T",
|
|
747
|
+
"category": "handheld",
|
|
748
|
+
"idea_fit_tags": [
|
|
749
|
+
"handheld",
|
|
750
|
+
"educational"
|
|
751
|
+
],
|
|
752
|
+
"hack_difficulty": 2,
|
|
753
|
+
"brick_risk": 2,
|
|
754
|
+
"brick_provenance": "community-reported",
|
|
755
|
+
"last_verified": "2026-05-06",
|
|
756
|
+
"firmware_links": [
|
|
757
|
+
"https://github.com/LineageOS/android_device_oneplus_dumpling",
|
|
758
|
+
"https://wiki.lineageos.org/devices/dumpling/"
|
|
759
|
+
],
|
|
760
|
+
"community_size_bucket": "active",
|
|
761
|
+
"notes": "Official LineageOS support from 15.1 through 22.2. Snapdragon 835, 6-8GB RAM, AMOLED display. OnePlus devices have unlockable bootloaders via fastboot oem unlock. 25+ contributors to device tree. Supports SELinux enforcing. Active maintainers including bgcngm and codeworkx. Good used condition units still hold 80%+ battery health. Catch: No official water resistance; USB-C is USB 2.0 only; device is from 2017 so battery replacement may be needed; dash charge requires proprietary adapter.",
|
|
762
|
+
"est_used_price_usd_min": 60,
|
|
763
|
+
"est_used_price_usd_max": 100,
|
|
764
|
+
"est_setup_hours_min": 1,
|
|
765
|
+
"est_setup_hours_max": 2
|
|
766
|
+
},
|
|
767
|
+
{
|
|
768
|
+
"id": "samsung-galaxy-s9",
|
|
769
|
+
"name": "Samsung Galaxy S9 (Exynos)",
|
|
770
|
+
"category": "handheld",
|
|
771
|
+
"idea_fit_tags": [
|
|
772
|
+
"handheld",
|
|
773
|
+
"educational"
|
|
774
|
+
],
|
|
775
|
+
"hack_difficulty": 3,
|
|
776
|
+
"brick_risk": 3,
|
|
777
|
+
"brick_provenance": "community-reported",
|
|
778
|
+
"last_verified": "2026-05-06",
|
|
779
|
+
"firmware_links": [
|
|
780
|
+
"https://github.com/LineageOS/android_device_samsung_starlte",
|
|
781
|
+
"https://wiki.lineageos.org/devices/starlte/"
|
|
782
|
+
],
|
|
783
|
+
"community_size_bucket": "active",
|
|
784
|
+
"notes": "Exynos 9810 variant (starlte) has LineageOS 15.1, 17.1, and 20.0 support. Snapdragon variants have limited or no custom ROM support due to bootloader restrictions. 4GB RAM, 1440p AMOLED, microSD slot. Unlock bootloader via Developer Options -> OEM Unlock. Requires TWRP recovery. Tripping Knox eFuse is irreversible and breaks Samsung Pay/Secure Folder forever. Catch: Snapdragon variants (US carriers) are nearly impossible to unlock; Exynos models only.",
|
|
785
|
+
"est_used_price_usd_min": 50,
|
|
786
|
+
"est_used_price_usd_max": 90,
|
|
787
|
+
"est_setup_hours_min": 2,
|
|
788
|
+
"est_setup_hours_max": 4
|
|
789
|
+
},
|
|
790
|
+
{
|
|
791
|
+
"id": "anbernic-rg35xx",
|
|
792
|
+
"name": "Anbernic RG35XX",
|
|
793
|
+
"category": "handheld",
|
|
794
|
+
"idea_fit_tags": [
|
|
795
|
+
"retrogaming",
|
|
796
|
+
"handheld"
|
|
797
|
+
],
|
|
798
|
+
"hack_difficulty": 2,
|
|
799
|
+
"brick_risk": 2,
|
|
800
|
+
"brick_provenance": "community-reported",
|
|
801
|
+
"last_verified": "2026-05-06",
|
|
802
|
+
"firmware_links": [
|
|
803
|
+
"https://github.com/GarlicOS/buildroot",
|
|
804
|
+
"https://github.com/GarlicOS/bootloader_anbernic_rg35xxplus"
|
|
805
|
+
],
|
|
806
|
+
"community_size_bucket": "active",
|
|
807
|
+
"notes": "Budget retro handheld with ARM Cortex-A9 (ATM7039S), 256MB RAM. Stock OS is Linux-based but closed-source. GarlicOS by Black Seraph is the primary open-source CFW - provides RetroArch-based emulation with clean UI, sleep mode, overclocking. Install by formatting SD card exFAT, creating /boot folder, copying init script and rootfs. Supports NES, SNES, GB/GBC/GBA, Genesis, PS1, and more. RG35XX community has active Discord and Reddit. Multiple CFW options: GarlicOS, Koriki, Batocera.",
|
|
808
|
+
"est_used_price_usd_min": 30,
|
|
809
|
+
"est_used_price_usd_max": 55,
|
|
810
|
+
"est_setup_hours_min": 1,
|
|
811
|
+
"est_setup_hours_max": 2
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
"id": "kindle-paperwhite-7th-gen-koreader",
|
|
815
|
+
"name": "Amazon Kindle Paperwhite (7th Generation)",
|
|
816
|
+
"category": "display",
|
|
817
|
+
"idea_fit_tags": [
|
|
818
|
+
"e-ink",
|
|
819
|
+
"educational",
|
|
820
|
+
"low-power"
|
|
821
|
+
],
|
|
822
|
+
"hack_difficulty": 3,
|
|
823
|
+
"brick_risk": 2,
|
|
824
|
+
"brick_provenance": "community-reported",
|
|
825
|
+
"last_verified": "2026-05-07",
|
|
826
|
+
"firmware_links": [
|
|
827
|
+
"https://github.com/koreader/koreader"
|
|
828
|
+
],
|
|
829
|
+
"community_size_bucket": "thriving",
|
|
830
|
+
"notes": "Jailbreak via WinterBreak (works on any FW), then install KOReader for EPUB, PDF reflow, and deep customization. KOReader supports dictionaries, RSS,Wallabag, and Calibre sync. Risk: jailbreak may be patched by newer Amazon firmware; keep Wi-Fi off post-jailbreak. Used prices trending $30-50 for 7th gen units.",
|
|
831
|
+
"est_used_price_usd_min": 30,
|
|
832
|
+
"est_used_price_usd_max": 50,
|
|
833
|
+
"est_setup_hours_min": 1,
|
|
834
|
+
"est_setup_hours_max": 2.5
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
"id": "wyze-cam-v2-dafang-hacks",
|
|
838
|
+
"name": "Wyze Cam v2",
|
|
839
|
+
"category": "sensor",
|
|
840
|
+
"idea_fit_tags": [
|
|
841
|
+
"iot",
|
|
842
|
+
"network",
|
|
843
|
+
"low-power"
|
|
844
|
+
],
|
|
845
|
+
"hack_difficulty": 4,
|
|
846
|
+
"brick_risk": 3,
|
|
847
|
+
"brick_provenance": "community-reported",
|
|
848
|
+
"last_verified": "2026-05-07",
|
|
849
|
+
"firmware_links": [
|
|
850
|
+
"https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks"
|
|
851
|
+
],
|
|
852
|
+
"community_size_bucket": "active",
|
|
853
|
+
"notes": "Full CFW replacing Wyze's cloud-dependent firmware with local-only RTSP, MQTT motion events, SSH access, and web UI. Requires microSD card flash; newer Wyze firmware must be downgraded first. Audio over RTSP has known issues on latest firmware. Camera becomes fully LAN-local - no cloud dependency.",
|
|
854
|
+
"est_used_price_usd_min": 15,
|
|
855
|
+
"est_used_price_usd_max": 30,
|
|
856
|
+
"est_setup_hours_min": 1.5,
|
|
857
|
+
"est_setup_hours_max": 3
|
|
858
|
+
},
|
|
859
|
+
{
|
|
860
|
+
"id": "wyze-cam-v3-wz-mini-hacks",
|
|
861
|
+
"name": "Wyze Cam v3",
|
|
862
|
+
"category": "sensor",
|
|
863
|
+
"idea_fit_tags": [
|
|
864
|
+
"iot",
|
|
865
|
+
"network",
|
|
866
|
+
"low-power"
|
|
867
|
+
],
|
|
868
|
+
"hack_difficulty": 3,
|
|
869
|
+
"brick_risk": 2,
|
|
870
|
+
"brick_provenance": "community-reported",
|
|
871
|
+
"last_verified": "2026-05-07",
|
|
872
|
+
"firmware_links": [
|
|
873
|
+
"https://github.com/gtxaspec/wz_mini_hacks"
|
|
874
|
+
],
|
|
875
|
+
"community_size_bucket": "active",
|
|
876
|
+
"notes": "wz_mini_hacks enables root shell, SSH, RTSP streaming, and custom kernel on Wyze Cam v3 without fully replacing firmware. Runs alongside stock firmware. Supports V3, Floodlight, Pan v2. Note: firmware newer than 4.36.9.139 has limited libcallback/RTSP support. Full guide in project wiki.",
|
|
877
|
+
"est_used_price_usd_min": 20,
|
|
878
|
+
"est_used_price_usd_max": 35,
|
|
879
|
+
"est_setup_hours_min": 1,
|
|
880
|
+
"est_setup_hours_max": 2
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"id": "philips-hue-a19-diyhue",
|
|
884
|
+
"name": "Philips Hue White and Color Ambiance A19 (Gen 1/2)",
|
|
885
|
+
"category": "bulb",
|
|
886
|
+
"idea_fit_tags": [
|
|
887
|
+
"color-cycle",
|
|
888
|
+
"iot",
|
|
889
|
+
"ambient"
|
|
890
|
+
],
|
|
891
|
+
"hack_difficulty": 2,
|
|
892
|
+
"brick_risk": 1,
|
|
893
|
+
"brick_provenance": "community-reported",
|
|
894
|
+
"last_verified": "2026-05-07",
|
|
895
|
+
"firmware_links": [
|
|
896
|
+
"https://github.com/diyhue/diyHue"
|
|
897
|
+
],
|
|
898
|
+
"community_size_bucket": "active",
|
|
899
|
+
"notes": "Bulb firmware itself is not replaceable, but diyHue open-source bridge emulator eliminates need for official Hue Bridge. Controls Hue bulbs locally via Zigbee (needs Raspbee/ConBee or similar). Full Hue app compatibility, entertainment zones, Home Assistant integration. Works with Zigbee2MQTT as alternative. No cloud required.",
|
|
900
|
+
"est_used_price_usd_min": 15,
|
|
901
|
+
"est_used_price_usd_max": 35,
|
|
902
|
+
"est_setup_hours_min": 1,
|
|
903
|
+
"est_setup_hours_max": 2.5
|
|
904
|
+
},
|
|
905
|
+
{
|
|
906
|
+
"id": "lifx-a19-aiolifx",
|
|
907
|
+
"name": "LIFX A19 Color Bulb",
|
|
908
|
+
"category": "bulb",
|
|
909
|
+
"idea_fit_tags": [
|
|
910
|
+
"color-cycle",
|
|
911
|
+
"iot",
|
|
912
|
+
"ambient"
|
|
913
|
+
],
|
|
914
|
+
"hack_difficulty": 2,
|
|
915
|
+
"brick_risk": 1,
|
|
916
|
+
"brick_provenance": "llm-inferred",
|
|
917
|
+
"last_verified": "2026-05-07",
|
|
918
|
+
"firmware_links": [
|
|
919
|
+
"https://github.com/aiolifx/aiolifx"
|
|
920
|
+
],
|
|
921
|
+
"community_size_bucket": "active",
|
|
922
|
+
"notes": "LIFX bulbs have a well-documented open LAN protocol (no cloud needed for local control). aiolifx is the official Python/asyncio library used by Home Assistant. Enables direct UDP LAN control for power, color, brightness, effects, and HEV clean cycles. Firmware not replaceable, but fully open API makes the bulbs essentially open-source-controllable.",
|
|
923
|
+
"est_used_price_usd_min": 16,
|
|
924
|
+
"est_used_price_usd_max": 30,
|
|
925
|
+
"est_setup_hours_min": 0.5,
|
|
926
|
+
"est_setup_hours_max": 1.5
|
|
927
|
+
},
|
|
928
|
+
{
|
|
929
|
+
"id": "amazon-echo-dot-2nd-gen-echocli",
|
|
930
|
+
"name": "Amazon Echo Dot (2nd Generation)",
|
|
931
|
+
"category": "speaker",
|
|
932
|
+
"idea_fit_tags": [
|
|
933
|
+
"voice",
|
|
934
|
+
"iot",
|
|
935
|
+
"network"
|
|
936
|
+
],
|
|
937
|
+
"hack_difficulty": 5,
|
|
938
|
+
"brick_risk": 4,
|
|
939
|
+
"brick_provenance": "community-reported",
|
|
940
|
+
"last_verified": "2026-05-07",
|
|
941
|
+
"firmware_links": [
|
|
942
|
+
"https://github.com/Dragon863/EchoCLI"
|
|
943
|
+
],
|
|
944
|
+
"community_size_bucket": "small",
|
|
945
|
+
"notes": "EchoCLI uses a bootrom exploit (kamakiri2) to root the Echo Dot 2nd gen via USB. Gives rooted ADB shell over USB/Wi-Fi, audio recording capability, and Home Assistant indicator support. TETHERED root - requires booting via mtkclient each time. Project now obsolete in favor of newer documented methods. Block Amazon OTA servers after rooting. mtkclient can unbrick.",
|
|
946
|
+
"est_used_price_usd_min": 10,
|
|
947
|
+
"est_used_price_usd_max": 20,
|
|
948
|
+
"est_setup_hours_min": 2,
|
|
949
|
+
"est_setup_hours_max": 4
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
"id": "bose-soundtouch-10-api",
|
|
953
|
+
"name": "Bose SoundTouch 10",
|
|
954
|
+
"category": "speaker",
|
|
955
|
+
"idea_fit_tags": [
|
|
956
|
+
"audio-out",
|
|
957
|
+
"network",
|
|
958
|
+
"iot"
|
|
959
|
+
],
|
|
960
|
+
"hack_difficulty": 2,
|
|
961
|
+
"brick_risk": 1,
|
|
962
|
+
"brick_provenance": "llm-inferred",
|
|
963
|
+
"last_verified": "2026-05-07",
|
|
964
|
+
"firmware_links": [
|
|
965
|
+
"https://github.com/thlucas1/bosesoundtouchapi"
|
|
966
|
+
],
|
|
967
|
+
"community_size_bucket": "small",
|
|
968
|
+
"notes": "Bose published the official SoundTouch Web API before EOL (May 2026). bosesoundtouchapi is a Python 3 library wrapping this local API for media control, volume, multiroom zones, source selection. Also supports Home Assistant via soundtouchplus integration. Cloud services ending but local API works indefinitely. AirPlay and Spotify Connect still functional.",
|
|
969
|
+
"est_used_price_usd_min": 40,
|
|
970
|
+
"est_used_price_usd_max": 80,
|
|
971
|
+
"est_setup_hours_min": 0.5,
|
|
972
|
+
"est_setup_hours_max": 1.5
|
|
973
|
+
},
|
|
974
|
+
{
|
|
975
|
+
"id": "sonos-play-1-soco",
|
|
976
|
+
"name": "Sonos Play:1",
|
|
977
|
+
"category": "speaker",
|
|
978
|
+
"idea_fit_tags": [
|
|
979
|
+
"audio-out",
|
|
980
|
+
"network",
|
|
981
|
+
"voice"
|
|
982
|
+
],
|
|
983
|
+
"hack_difficulty": 2,
|
|
984
|
+
"brick_risk": 1,
|
|
985
|
+
"brick_provenance": "llm-inferred",
|
|
986
|
+
"last_verified": "2026-05-07",
|
|
987
|
+
"firmware_links": [
|
|
988
|
+
"https://github.com/SoCo/SoCo"
|
|
989
|
+
],
|
|
990
|
+
"community_size_bucket": "thriving",
|
|
991
|
+
"notes": "SoCo is a mature Python library for programmatic Sonos control over local network. Supports playback control, grouping, queue management, music service browsing, and text-to-speech. No firmware modification needed - uses Sonos UPnP/SOAP local protocol. Sonos Play:1 still works with S2 app. Active development with 83 contributors. Home Assistant dependency. Can pair two for stereo.",
|
|
992
|
+
"est_used_price_usd_min": 50,
|
|
993
|
+
"est_used_price_usd_max": 105,
|
|
994
|
+
"est_setup_hours_min": 0.5,
|
|
995
|
+
"est_setup_hours_max": 1.5
|
|
996
|
+
},
|
|
997
|
+
{
|
|
998
|
+
"id": "logitech-harmony-hub-aioharmony",
|
|
999
|
+
"name": "Logitech Harmony Hub",
|
|
1000
|
+
"category": "input",
|
|
1001
|
+
"idea_fit_tags": [
|
|
1002
|
+
"peripheral",
|
|
1003
|
+
"network",
|
|
1004
|
+
"iot"
|
|
1005
|
+
],
|
|
1006
|
+
"hack_difficulty": 2,
|
|
1007
|
+
"brick_risk": 1,
|
|
1008
|
+
"brick_provenance": "llm-inferred",
|
|
1009
|
+
"last_verified": "2026-05-07",
|
|
1010
|
+
"firmware_links": [
|
|
1011
|
+
"https://github.com/Harmony-Libs/aioharmony"
|
|
1012
|
+
],
|
|
1013
|
+
"community_size_bucket": "active",
|
|
1014
|
+
"notes": "aioharmony is an asyncio Python library for local Harmony Hub control. Used by Home Assistant's official Harmony integration. Supports activity switching, device commands, current activity queries, and hub config retrieval. Uses local XMPP/WebSocket protocol - no cloud needed after initial setup. Harmony Hub discontinued by Logitech but widely available used. Automatic reconnection handling built-in.",
|
|
1015
|
+
"est_used_price_usd_min": 30,
|
|
1016
|
+
"est_used_price_usd_max": 60,
|
|
1017
|
+
"est_setup_hours_min": 0.5,
|
|
1018
|
+
"est_setup_hours_max": 1.5
|
|
1019
|
+
},
|
|
1020
|
+
{
|
|
1021
|
+
"id": "remarkable-1-toltec",
|
|
1022
|
+
"name": "reMarkable 1",
|
|
1023
|
+
"category": "display",
|
|
1024
|
+
"idea_fit_tags": [
|
|
1025
|
+
"e-ink",
|
|
1026
|
+
"educational",
|
|
1027
|
+
"creative-coding"
|
|
1028
|
+
],
|
|
1029
|
+
"hack_difficulty": 3,
|
|
1030
|
+
"brick_risk": 2,
|
|
1031
|
+
"brick_provenance": "community-reported",
|
|
1032
|
+
"last_verified": "2026-05-07",
|
|
1033
|
+
"firmware_links": [
|
|
1034
|
+
"https://github.com/toltec-dev/toltec"
|
|
1035
|
+
],
|
|
1036
|
+
"community_size_bucket": "active",
|
|
1037
|
+
"notes": "reMarkable 1 runs Linux with root SSH access out of the box. Toltec adds a community package manager (opkg) with dozens of packages: KOReader, custom launchers (Oxide, Draft), gesture controls, web serving, and development tools. rm2fb framebuffer compatibility layer enables RM1 software on RM2. No jailbreak needed - just enable developer password and run bootstrap script.",
|
|
1038
|
+
"est_used_price_usd_min": 100,
|
|
1039
|
+
"est_used_price_usd_max": 180,
|
|
1040
|
+
"est_setup_hours_min": 1,
|
|
1041
|
+
"est_setup_hours_max": 2
|
|
1042
|
+
},
|
|
1043
|
+
{
|
|
1044
|
+
"id": "tp-link-archer-c7-v5",
|
|
1045
|
+
"name": "TP-Link Archer C7 v5",
|
|
1046
|
+
"category": "router",
|
|
1047
|
+
"idea_fit_tags": [
|
|
1048
|
+
"network",
|
|
1049
|
+
"iot"
|
|
1050
|
+
],
|
|
1051
|
+
"hack_difficulty": 2,
|
|
1052
|
+
"brick_risk": 2,
|
|
1053
|
+
"brick_provenance": "community-reported",
|
|
1054
|
+
"last_verified": "2026-05-06",
|
|
1055
|
+
"firmware_links": [
|
|
1056
|
+
"https://openwrt.org/toh/tp-link/archer_c7",
|
|
1057
|
+
"https://github.com/openwrt/openwrt"
|
|
1058
|
+
],
|
|
1059
|
+
"community_size_bucket": "thriving",
|
|
1060
|
+
"notes": "The quintessential OpenWrt beginner router. QCA9563 750MHz CPU, 16MB flash, 128MB RAM. All v1-v5 versions supported. v5 is the most common and cheapest on used market. Web GUI flash from stock firmware works reliably. 5GHz WiFi works well with ath10k driver. 16MB flash is the main constraint - you'll need extroot for large package sets. Massive forum knowledge base. TFTP recovery works well if something goes wrong. Dual-band AC1750, 5x GbE ports.",
|
|
1061
|
+
"est_used_price_usd_min": 15,
|
|
1062
|
+
"est_used_price_usd_max": 25,
|
|
1063
|
+
"est_setup_hours_min": 1,
|
|
1064
|
+
"est_setup_hours_max": 3
|
|
1065
|
+
},
|
|
1066
|
+
{
|
|
1067
|
+
"id": "netgear-r7800",
|
|
1068
|
+
"name": "NETGEAR R7800 Nighthawk X4S",
|
|
1069
|
+
"category": "router",
|
|
1070
|
+
"idea_fit_tags": [
|
|
1071
|
+
"network",
|
|
1072
|
+
"iot"
|
|
1073
|
+
],
|
|
1074
|
+
"hack_difficulty": 3,
|
|
1075
|
+
"brick_risk": 2,
|
|
1076
|
+
"brick_provenance": "community-reported",
|
|
1077
|
+
"last_verified": "2026-05-06",
|
|
1078
|
+
"firmware_links": [
|
|
1079
|
+
"https://openwrt.org/toh/netgear/r7800",
|
|
1080
|
+
"https://github.com/openwrt/openwrt"
|
|
1081
|
+
],
|
|
1082
|
+
"community_size_bucket": "thriving",
|
|
1083
|
+
"notes": "Premium OpenWrt router. IPQ8065 dual-core 1.7GHz, 512MB RAM, 128MB NAND flash (80MB free after OpenWrt install). 4x4 MU-MIMO AC2600 with dual QCA9984 radios. Two USB 3.0 ports plus eSATA. Solderless installation via stock web GUI. Excellent for SQM/QoS with cake. Active exploration thread with performance tuning tips. Some units have bad NAND blocks - check with dmesg after install. TFTP recovery available. Best price/performance for high-bandwidth OpenWrt.",
|
|
1084
|
+
"est_used_price_usd_min": 50,
|
|
1085
|
+
"est_used_price_usd_max": 80,
|
|
1086
|
+
"est_setup_hours_min": 1,
|
|
1087
|
+
"est_setup_hours_max": 3
|
|
1088
|
+
},
|
|
1089
|
+
{
|
|
1090
|
+
"id": "linksys-wrt3200acm",
|
|
1091
|
+
"name": "Linksys WRT3200ACM",
|
|
1092
|
+
"category": "router",
|
|
1093
|
+
"idea_fit_tags": [
|
|
1094
|
+
"network",
|
|
1095
|
+
"iot"
|
|
1096
|
+
],
|
|
1097
|
+
"hack_difficulty": 4,
|
|
1098
|
+
"brick_risk": 3,
|
|
1099
|
+
"brick_provenance": "community-reported",
|
|
1100
|
+
"last_verified": "2026-05-06",
|
|
1101
|
+
"firmware_links": [
|
|
1102
|
+
"https://openwrt.org/toh/linksys/wrt3200acm",
|
|
1103
|
+
"https://github.com/openwrt/openwrt"
|
|
1104
|
+
],
|
|
1105
|
+
"community_size_bucket": "active",
|
|
1106
|
+
"notes": "Marvell-based AC3200 router with open-source heritage. 1.8GHz dual-core, 512MB RAM, 256MB flash. Three radios (2x PCIe mwlwifi + 1 SDIO). Dual firmware partition design with automatic fallback. WPA3 does NOT work well with mvebu target - stick to WPA2. 802.11ac Wave 2 with 160MHz channel support. USB 3.0 + eSATA. Known issues: mwlwifi driver has stability quirks, SDIO WiFi firmware causes slow boot on newer OpenWrt versions (can blacklist mwifiex_sdio).",
|
|
1107
|
+
"est_used_price_usd_min": 50,
|
|
1108
|
+
"est_used_price_usd_max": 90,
|
|
1109
|
+
"est_setup_hours_min": 2,
|
|
1110
|
+
"est_setup_hours_max": 5
|
|
1111
|
+
},
|
|
1112
|
+
{
|
|
1113
|
+
"id": "glinet-gl-ar750s-slate",
|
|
1114
|
+
"name": "GL.iNet GL-AR750S Slate",
|
|
1115
|
+
"category": "router",
|
|
1116
|
+
"idea_fit_tags": [
|
|
1117
|
+
"network",
|
|
1118
|
+
"iot",
|
|
1119
|
+
"low-power"
|
|
1120
|
+
],
|
|
1121
|
+
"hack_difficulty": 2,
|
|
1122
|
+
"brick_risk": 1,
|
|
1123
|
+
"brick_provenance": "community-reported",
|
|
1124
|
+
"last_verified": "2026-05-06",
|
|
1125
|
+
"firmware_links": [
|
|
1126
|
+
"https://github.com/admonstrator/glinet-toolbox",
|
|
1127
|
+
"https://openwrt.org/toh/gl.inet/gl-ar750s",
|
|
1128
|
+
"https://github.com/gl-inet/openwrt"
|
|
1129
|
+
],
|
|
1130
|
+
"community_size_bucket": "active",
|
|
1131
|
+
"notes": "Travel router purpose-built for OpenWrt. AR750S has QCA9563 775MHz, 128MB RAM, 16MB flash + 128MB NAND storage. Dual-band AC750, 3x 100Mbps Ethernet (not gigabit). USB 2.0 port, microSD slot. Ships with GL.iNet's OpenWrt fork but easily flashed to vanilla OpenWrt. GL.iNet actively maintains open-source firmware. Toolbox repo provides Tailscale, AdGuard, ACME automation scripts. Small, portable, USB-powered. Perfect for travel VPN routing or as a portable IoT gateway.",
|
|
1132
|
+
"est_used_price_usd_min": 30,
|
|
1133
|
+
"est_used_price_usd_max": 55,
|
|
1134
|
+
"est_setup_hours_min": 1,
|
|
1135
|
+
"est_setup_hours_max": 2
|
|
1136
|
+
},
|
|
1137
|
+
{
|
|
1138
|
+
"id": "glinet-gl-mt3000-beryl-ax",
|
|
1139
|
+
"name": "GL.iNet GL-MT3000 Beryl AX",
|
|
1140
|
+
"category": "router",
|
|
1141
|
+
"idea_fit_tags": [
|
|
1142
|
+
"network",
|
|
1143
|
+
"iot"
|
|
1144
|
+
],
|
|
1145
|
+
"hack_difficulty": 3,
|
|
1146
|
+
"brick_risk": 2,
|
|
1147
|
+
"brick_provenance": "community-reported",
|
|
1148
|
+
"last_verified": "2026-05-06",
|
|
1149
|
+
"firmware_links": [
|
|
1150
|
+
"https://openwrt.org/toh/gl.inet/gl-mt3000",
|
|
1151
|
+
"https://github.com/gl-inet/openwrt",
|
|
1152
|
+
"https://github.com/admonstrator/glinet-toolbox"
|
|
1153
|
+
],
|
|
1154
|
+
"community_size_bucket": "active",
|
|
1155
|
+
"notes": "Wi-Fi 6 travel router with MediaTek Filogic 830 (MT7981B) dual-core 1.3GHz, 512MB RAM, 256MB NAND. AX3000 dual-band with 2x2 MIMO. 2x GbE ports (WAN+LAN), USB 3.0 Type-C power. Fully supported by vanilla OpenWrt 23.05+ (was snapshot-only at launch, now stable). Ships with GL.iNet's forked OpenWrt 21.02-based firmware; upgrading to vanilla loses GL web UI but gains newer kernel and packages. 2.4GHz throughput can be lower on open-source drivers vs proprietary MTK ones.",
|
|
1156
|
+
"est_used_price_usd_min": 70,
|
|
1157
|
+
"est_used_price_usd_max": 105,
|
|
1158
|
+
"est_setup_hours_min": 1,
|
|
1159
|
+
"est_setup_hours_max": 3
|
|
1160
|
+
},
|
|
1161
|
+
{
|
|
1162
|
+
"id": "mikrotik-hap-ac2",
|
|
1163
|
+
"name": "MikroTik hAP ac2 (RBD52G-5HacD2HnD-TC)",
|
|
1164
|
+
"category": "router",
|
|
1165
|
+
"idea_fit_tags": [
|
|
1166
|
+
"network",
|
|
1167
|
+
"iot"
|
|
1168
|
+
],
|
|
1169
|
+
"hack_difficulty": 4,
|
|
1170
|
+
"brick_risk": 3,
|
|
1171
|
+
"brick_provenance": "community-reported",
|
|
1172
|
+
"last_verified": "2026-05-06",
|
|
1173
|
+
"firmware_links": [
|
|
1174
|
+
"https://openwrt.org/toh/mikrotik/hap_ac2",
|
|
1175
|
+
"https://github.com/openwrt/openwrt"
|
|
1176
|
+
],
|
|
1177
|
+
"community_size_bucket": "active",
|
|
1178
|
+
"notes": "Quad-core IPQ4018 716MHz, 128MB RAM, 16MB flash, 5x GbE ports, dual-band AC1200, USB 2.0. Ships with RouterOS (closed-source). OpenWrt install requires TFTP boot of initramfs image first, then sysupgrade. Do NOT upgrade to RouterOS v7 before installing OpenWrt - its bootloader is incompatible; downgrade to RouterOS v6 first. Early revisions had 256MB RAM but later ones only 128MB. BOOTP required for TFTP (not DHCP). RouterOS license key can be saved before flashing for potential rollback.",
|
|
1179
|
+
"est_used_price_usd_min": 25,
|
|
1180
|
+
"est_used_price_usd_max": 45,
|
|
1181
|
+
"est_setup_hours_min": 2,
|
|
1182
|
+
"est_setup_hours_max": 5
|
|
1183
|
+
},
|
|
1184
|
+
{
|
|
1185
|
+
"id": "tp-link-archer-c2600",
|
|
1186
|
+
"name": "TP-Link Archer C2600",
|
|
1187
|
+
"category": "router",
|
|
1188
|
+
"idea_fit_tags": [
|
|
1189
|
+
"network",
|
|
1190
|
+
"iot"
|
|
1191
|
+
],
|
|
1192
|
+
"hack_difficulty": 3,
|
|
1193
|
+
"brick_risk": 2,
|
|
1194
|
+
"brick_provenance": "community-reported",
|
|
1195
|
+
"last_verified": "2026-05-06",
|
|
1196
|
+
"firmware_links": [
|
|
1197
|
+
"https://openwrt.org/toh/tp-link/archer_c2600_v1",
|
|
1198
|
+
"https://github.com/openwrt/openwrt"
|
|
1199
|
+
],
|
|
1200
|
+
"community_size_bucket": "active",
|
|
1201
|
+
"notes": "IPQ8064 dual-core 1.7GHz, 512MB RAM, 32MB flash, 4x4 AC2600 with QCA9980 radios. 4x GbE LAN + 1x WAN, 2x USB 3.0. Very similar hardware to R7800 but with half the flash (32MB vs 128MB). Solderless install via stock web GUI. Has known stability issues on OpenWrt 24.10 - some users report WAN connectivity drops and OOPS requiring network restart. Consider staying on 23.05 for now. Less popular than R7800 but significantly cheaper used.",
|
|
1202
|
+
"est_used_price_usd_min": 15,
|
|
1203
|
+
"est_used_price_usd_max": 25,
|
|
1204
|
+
"est_setup_hours_min": 1,
|
|
1205
|
+
"est_setup_hours_max": 3
|
|
1206
|
+
},
|
|
1207
|
+
{
|
|
1208
|
+
"id": "sonoff-basic-r2",
|
|
1209
|
+
"name": "SONOFF Basic R2",
|
|
1210
|
+
"category": "other",
|
|
1211
|
+
"idea_fit_tags": [
|
|
1212
|
+
"iot",
|
|
1213
|
+
"sensor"
|
|
1214
|
+
],
|
|
1215
|
+
"hack_difficulty": 2,
|
|
1216
|
+
"brick_risk": 2,
|
|
1217
|
+
"brick_provenance": "community-reported",
|
|
1218
|
+
"last_verified": "2026-05-06",
|
|
1219
|
+
"firmware_links": [
|
|
1220
|
+
"https://github.com/arendst/Tasmota",
|
|
1221
|
+
"https://tasmota.github.io/docs/",
|
|
1222
|
+
"https://github.com/arendst/Tasmota-firmware"
|
|
1223
|
+
],
|
|
1224
|
+
"community_size_bucket": "thriving",
|
|
1225
|
+
"notes": "ESP8266-based WiFi relay switch, the gateway drug to Tasmota. 10A relay, 90-250V AC input. Flash Tasmota via serial (TX/RX/GND headers accessible) or OTA if firmware allows. The arendst/Tasmota GitHub has 22K+ stars. Tasmota-firmware repo hosts pre-built binaries. No soldering needed on most units - header pins are exposed. Device is mains-powered - follow safety precautions. GPIO14 available for external sensors (with isolation). Supports MQTT, Home Assistant auto-discovery, web UI.",
|
|
1226
|
+
"est_used_price_usd_min": 5,
|
|
1227
|
+
"est_used_price_usd_max": 10,
|
|
1228
|
+
"est_setup_hours_min": 1,
|
|
1229
|
+
"est_setup_hours_max": 2
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
"id": "shelly-1",
|
|
1233
|
+
"name": "Shelly 1",
|
|
1234
|
+
"category": "other",
|
|
1235
|
+
"idea_fit_tags": [
|
|
1236
|
+
"iot",
|
|
1237
|
+
"sensor"
|
|
1238
|
+
],
|
|
1239
|
+
"hack_difficulty": 3,
|
|
1240
|
+
"brick_risk": 3,
|
|
1241
|
+
"brick_provenance": "community-reported",
|
|
1242
|
+
"last_verified": "2026-05-06",
|
|
1243
|
+
"firmware_links": [
|
|
1244
|
+
"https://github.com/arendst/mgos-to-tasmota",
|
|
1245
|
+
"https://tasmota.github.io/docs/devices/Shelly-1/",
|
|
1246
|
+
"https://esphome.io/devices/shelly_1.html"
|
|
1247
|
+
],
|
|
1248
|
+
"community_size_bucket": "active",
|
|
1249
|
+
"notes": "ESP8266 relay switch with dry contact output - can switch low voltage (12V/24V) or mains. 16A relay, very small form factor (42mm). Tasmota supported since v6.2.1.7. Flash via serial (partially exposed programming header) or OTA using mgos-to-tasmota intermediate firmware. Newer Shelly devices (Gen3) use mgos32-to-tasmota32 for OTA conversion. ESPHome also fully supported.",
|
|
1250
|
+
"est_used_price_usd_min": 8,
|
|
1251
|
+
"est_used_price_usd_max": 15,
|
|
1252
|
+
"est_setup_hours_min": 1,
|
|
1253
|
+
"est_setup_hours_max": 3
|
|
1254
|
+
},
|
|
1255
|
+
{
|
|
1256
|
+
"id": "sonoff-zbdongle-e",
|
|
1257
|
+
"name": "SONOFF ZBDongle-E",
|
|
1258
|
+
"category": "other",
|
|
1259
|
+
"idea_fit_tags": [
|
|
1260
|
+
"iot",
|
|
1261
|
+
"network"
|
|
1262
|
+
],
|
|
1263
|
+
"hack_difficulty": 2,
|
|
1264
|
+
"brick_risk": 1,
|
|
1265
|
+
"brick_provenance": "community-reported",
|
|
1266
|
+
"last_verified": "2026-05-06",
|
|
1267
|
+
"firmware_links": [
|
|
1268
|
+
"https://github.com/itead/Sonoff_Zigbee_Dongle_Firmware",
|
|
1269
|
+
"https://github.com/darkxst/silabs-firmware-builder",
|
|
1270
|
+
"https://sonoff.tech/products/sonoff-zigbee-3-0-usb-dongle-plus-zbdongle-e"
|
|
1271
|
+
],
|
|
1272
|
+
"community_size_bucket": "active",
|
|
1273
|
+
"notes": "EFR32MG21-based Zigbee 3.0 USB coordinator. Ships pre-flashed with Zigbee coordinator firmware (EZNet 6.10.3). +20dBm output gain, aluminum housing for EMI shielding. Supports flashing to router, Thread border router, or Multi-PAN (Zigbee+Thread simultaneously) firmware via web flasher at dongle.sonoff.tech. Multi-PAN firmware (SSDK12.01) tested with 100 Zigbee + 50 Thread devices running stably for 5 weeks. Compatible with Home Assistant ZHA, Zigbee2MQTT, and OpenThread Border Router.",
|
|
1274
|
+
"est_used_price_usd_min": 15,
|
|
1275
|
+
"est_used_price_usd_max": 25,
|
|
1276
|
+
"est_setup_hours_min": 0.5,
|
|
1277
|
+
"est_setup_hours_max": 2
|
|
1278
|
+
},
|
|
1279
|
+
{
|
|
1280
|
+
"id": "pinetime",
|
|
1281
|
+
"name": "PineTime",
|
|
1282
|
+
"category": "wearable",
|
|
1283
|
+
"idea_fit_tags": [
|
|
1284
|
+
"wearable",
|
|
1285
|
+
"low-power"
|
|
1286
|
+
],
|
|
1287
|
+
"hack_difficulty": 3,
|
|
1288
|
+
"brick_risk": 3,
|
|
1289
|
+
"brick_provenance": "community-reported",
|
|
1290
|
+
"last_verified": "2026-05-06",
|
|
1291
|
+
"firmware_links": [
|
|
1292
|
+
"https://github.com/InfiniTimeOrg/InfiniTime"
|
|
1293
|
+
],
|
|
1294
|
+
"community_size_bucket": "active",
|
|
1295
|
+
"notes": "InfiniTime is the flagship open-source firmware for PineTime, written in modern C++ on FreeRTOS with NimBLE. Features: multiple watch faces, notifications, music control, heart rate, step counter, weather integration, OTA DFU updates. Companion apps: Gadgetbridge (Android), Amazfish, InfiniLink (iOS). Bootloader is MCUBoot-based with secure DFU. Flash via STLinkV2/SWD or OTA. The PineTime was designed to be hackable from the ground up - no case screws, easy SWD access.",
|
|
1296
|
+
"est_used_price_usd_min": 20,
|
|
1297
|
+
"est_used_price_usd_max": 40,
|
|
1298
|
+
"est_setup_hours_min": 2,
|
|
1299
|
+
"est_setup_hours_max": 4
|
|
1300
|
+
},
|
|
1301
|
+
{
|
|
1302
|
+
"id": "banglejs-2",
|
|
1303
|
+
"name": "Bangle.js 2",
|
|
1304
|
+
"category": "wearable",
|
|
1305
|
+
"idea_fit_tags": [
|
|
1306
|
+
"wearable",
|
|
1307
|
+
"educational",
|
|
1308
|
+
"creative-coding"
|
|
1309
|
+
],
|
|
1310
|
+
"hack_difficulty": 2,
|
|
1311
|
+
"brick_risk": 2,
|
|
1312
|
+
"brick_provenance": "community-reported",
|
|
1313
|
+
"last_verified": "2026-05-06",
|
|
1314
|
+
"firmware_links": [
|
|
1315
|
+
"https://github.com/espruino/espruino"
|
|
1316
|
+
],
|
|
1317
|
+
"community_size_bucket": "active",
|
|
1318
|
+
"notes": "Open-source JavaScript smartwatch running the Espruino JS interpreter. Program wirelessly via Web Bluetooth using the Bangle App Loader - no cables or dev tools needed. Features: GPS, heart rate, barometer, magnetometer, 3-axis accelerometer, always-on transflective LCD. 4-week standby battery. Large app library with 100+ community apps. SDK is the JS runtime itself; write code in a browser and push directly. Catch: 176x176 3-color LCD is low-res (intentional for battery life).",
|
|
1319
|
+
"est_used_price_usd_min": 50,
|
|
1320
|
+
"est_used_price_usd_max": 80,
|
|
1321
|
+
"est_setup_hours_min": 1,
|
|
1322
|
+
"est_setup_hours_max": 2
|
|
1323
|
+
},
|
|
1324
|
+
{
|
|
1325
|
+
"id": "amazfit-bip",
|
|
1326
|
+
"name": "Amazfit Bip",
|
|
1327
|
+
"category": "wearable",
|
|
1328
|
+
"idea_fit_tags": [
|
|
1329
|
+
"wearable",
|
|
1330
|
+
"low-power"
|
|
1331
|
+
],
|
|
1332
|
+
"hack_difficulty": 3,
|
|
1333
|
+
"brick_risk": 4,
|
|
1334
|
+
"brick_provenance": "community-reported",
|
|
1335
|
+
"last_verified": "2026-05-06",
|
|
1336
|
+
"firmware_links": [
|
|
1337
|
+
"https://github.com/azagramac/customFirmware-AmazfitBip"
|
|
1338
|
+
],
|
|
1339
|
+
"community_size_bucket": "small",
|
|
1340
|
+
"notes": "Ultra-low-power transflective LCD smartwatch with 30-day battery. BipOS is a patched firmware enabling custom apps (calculator, calendar, flashlight) via a modified resource file. Flashing requires specific order: firmware.fw -> font.ft -> resource.res. Gadgetbridge provides full notification/music/HRM sync without Xiaomi cloud. Multiple custom firmware variants exist (Mr. Postman, trace mods). Catch: Wrong flash order or mismatched firmware/font versions WILL brick the device.",
|
|
1341
|
+
"est_used_price_usd_min": 12,
|
|
1342
|
+
"est_used_price_usd_max": 35,
|
|
1343
|
+
"est_setup_hours_min": 2,
|
|
1344
|
+
"est_setup_hours_max": 4
|
|
1345
|
+
},
|
|
1346
|
+
{
|
|
1347
|
+
"id": "garmin-forerunner-235",
|
|
1348
|
+
"name": "Garmin Forerunner 235",
|
|
1349
|
+
"category": "wearable",
|
|
1350
|
+
"idea_fit_tags": [
|
|
1351
|
+
"wearable",
|
|
1352
|
+
"sensor"
|
|
1353
|
+
],
|
|
1354
|
+
"hack_difficulty": 3,
|
|
1355
|
+
"brick_risk": 2,
|
|
1356
|
+
"brick_provenance": "community-reported",
|
|
1357
|
+
"last_verified": "2026-05-06",
|
|
1358
|
+
"firmware_links": [
|
|
1359
|
+
"https://github.com/garmin/connectiq-apps"
|
|
1360
|
+
],
|
|
1361
|
+
"community_size_bucket": "active",
|
|
1362
|
+
"notes": "Garmin's Connect IQ platform allows full SDK-based app development in Monkey C. The SDK, simulator, and companion phone SDKs are all freely available. Forerunner 235 supports Connect IQ 1.x apps: custom data fields, watch faces, widgets, and device apps. Large ecosystem of open-source apps on GitHub. Monkey C is a C-like OOP language with Garmin-specific APIs for sensors, GPS, and ANT+. The CIQ apps repo includes audio providers, data fields, device apps, watch faces, and barrel libraries.",
|
|
1363
|
+
"est_used_price_usd_min": 40,
|
|
1364
|
+
"est_used_price_usd_max": 80,
|
|
1365
|
+
"est_setup_hours_min": 2,
|
|
1366
|
+
"est_setup_hours_max": 4
|
|
1367
|
+
},
|
|
1368
|
+
{
|
|
1369
|
+
"id": "fitbit-versa",
|
|
1370
|
+
"name": "Fitbit Versa (1st Gen)",
|
|
1371
|
+
"category": "wearable",
|
|
1372
|
+
"idea_fit_tags": [
|
|
1373
|
+
"wearable",
|
|
1374
|
+
"sensor"
|
|
1375
|
+
],
|
|
1376
|
+
"hack_difficulty": 3,
|
|
1377
|
+
"brick_risk": 2,
|
|
1378
|
+
"brick_provenance": "community-reported",
|
|
1379
|
+
"last_verified": "2026-05-06",
|
|
1380
|
+
"firmware_links": [
|
|
1381
|
+
"https://github.com/Fitbit/fitbit-sdk-toolchain"
|
|
1382
|
+
],
|
|
1383
|
+
"community_size_bucket": "small",
|
|
1384
|
+
"notes": "Fitbit's SDK toolchain is open source (TypeScript/Node.js) and enables custom clock faces and apps for Versa 1. The SDK includes a CLI, simulator, and build toolchain. Apps written in JavaScript with a custom SVG-based UI framework. APIs include heart rate, accelerometer, GPS (via phone), exercise tracking, and file storage. Fitbit/ossapps repo catalogs 50+ open-source community apps and modules. After Google's Fitbit acquisition, the developer platform has seen reduced investment.",
|
|
1385
|
+
"est_used_price_usd_min": 20,
|
|
1386
|
+
"est_used_price_usd_max": 45,
|
|
1387
|
+
"est_setup_hours_min": 2,
|
|
1388
|
+
"est_setup_hours_max": 4
|
|
1389
|
+
},
|
|
1390
|
+
{
|
|
1391
|
+
"id": "gopro-hero4",
|
|
1392
|
+
"name": "GoPro Hero 4 Black/Silver",
|
|
1393
|
+
"category": "other",
|
|
1394
|
+
"idea_fit_tags": [
|
|
1395
|
+
"peripheral",
|
|
1396
|
+
"creative-coding"
|
|
1397
|
+
],
|
|
1398
|
+
"hack_difficulty": 4,
|
|
1399
|
+
"brick_risk": 4,
|
|
1400
|
+
"brick_provenance": "community-reported",
|
|
1401
|
+
"last_verified": "2026-05-06",
|
|
1402
|
+
"firmware_links": [
|
|
1403
|
+
"https://github.com/konradit/hero4hack"
|
|
1404
|
+
],
|
|
1405
|
+
"community_size_bucket": "small",
|
|
1406
|
+
"notes": "Hero 4 does not support autoexec.ash like older GoPros, but custom patched firmware (by evilwombat/Alti Force) enables override.sh execution from SD card at boot. This unlocks the full Linux userspace: busybox, custom scripts, WiFi command injection via gpsend binary. Hero 4 runs a full Linux system - you can execute arbitrary shell scripts, modify camera modes, trigger recording, and stream via WiFi. HTTP API endpoints at 10.5.5.9 provide programmatic control.",
|
|
1407
|
+
"est_used_price_usd_min": 30,
|
|
1408
|
+
"est_used_price_usd_max": 70,
|
|
1409
|
+
"est_setup_hours_min": 3,
|
|
1410
|
+
"est_setup_hours_max": 6
|
|
1411
|
+
},
|
|
1412
|
+
{
|
|
1413
|
+
"id": "gopro-hero567",
|
|
1414
|
+
"name": "GoPro Hero 5/6/7 Black",
|
|
1415
|
+
"category": "other",
|
|
1416
|
+
"idea_fit_tags": [
|
|
1417
|
+
"peripheral",
|
|
1418
|
+
"creative-coding"
|
|
1419
|
+
],
|
|
1420
|
+
"hack_difficulty": 3,
|
|
1421
|
+
"brick_risk": 2,
|
|
1422
|
+
"brick_provenance": "community-reported",
|
|
1423
|
+
"last_verified": "2026-05-06",
|
|
1424
|
+
"firmware_links": [
|
|
1425
|
+
"https://github.com/KonradIT/goprowifihack",
|
|
1426
|
+
"https://github.com/gopro/OpenGoPro"
|
|
1427
|
+
],
|
|
1428
|
+
"community_size_bucket": "active",
|
|
1429
|
+
"notes": "Community-documented unofficial WiFi/BLE API (goprowifihack) plus GoPro's official OpenGoPro spec. Hero 5-7 expose HTTP endpoints over WiFi (10.5.5.9/gp/gpControl) for full remote control: mode switching, recording, settings, live preview, media browsing. BLE commands for wake/pairing/keep-alive. OpenGoPro provides official Python and Kotlin SDKs with examples. Enables automation: multi-camera sync, motion-triggered recording, livestreaming via FFmpeg, drone integration.",
|
|
1430
|
+
"est_used_price_usd_min": 40,
|
|
1431
|
+
"est_used_price_usd_max": 100,
|
|
1432
|
+
"est_setup_hours_min": 1,
|
|
1433
|
+
"est_setup_hours_max": 4
|
|
1434
|
+
},
|
|
1435
|
+
{
|
|
1436
|
+
"id": "oculus-quest-1",
|
|
1437
|
+
"name": "Oculus Quest 1",
|
|
1438
|
+
"category": "other",
|
|
1439
|
+
"idea_fit_tags": [
|
|
1440
|
+
"peripheral",
|
|
1441
|
+
"creative-coding"
|
|
1442
|
+
],
|
|
1443
|
+
"hack_difficulty": 2,
|
|
1444
|
+
"brick_risk": 2,
|
|
1445
|
+
"brick_provenance": "community-reported",
|
|
1446
|
+
"last_verified": "2026-05-06",
|
|
1447
|
+
"firmware_links": [
|
|
1448
|
+
"https://github.com/SideQuestVR/SideQuest"
|
|
1449
|
+
],
|
|
1450
|
+
"community_size_bucket": "thriving",
|
|
1451
|
+
"notes": "Standalone VR headset based on Android. SideQuest (open-source desktop app) enables wireless sideloading of APKs without Oculus Store approval. Full Android app ecosystem available. ADB over WiFi after initial USB setup. Custom home environments, hand tracking experiments, unofficial PCVR via ALVR/Virtual Desktop. Quest 1 has an active modding community: custom Beat Saber songs, texture packs, homebrew games. The headset runs a modified Android 10 and can be accessed via standard ADB.",
|
|
1452
|
+
"est_used_price_usd_min": 60,
|
|
1453
|
+
"est_used_price_usd_max": 120,
|
|
1454
|
+
"est_setup_hours_min": 1,
|
|
1455
|
+
"est_setup_hours_max": 3
|
|
1456
|
+
},
|
|
1457
|
+
{
|
|
1458
|
+
"id": "rabbit-r1",
|
|
1459
|
+
"name": "Rabbit R1",
|
|
1460
|
+
"category": "other",
|
|
1461
|
+
"idea_fit_tags": [
|
|
1462
|
+
"voice",
|
|
1463
|
+
"input",
|
|
1464
|
+
"creative-coding"
|
|
1465
|
+
],
|
|
1466
|
+
"hack_difficulty": 4,
|
|
1467
|
+
"brick_risk": 4,
|
|
1468
|
+
"brick_provenance": "community-reported",
|
|
1469
|
+
"last_verified": "2026-05-06",
|
|
1470
|
+
"firmware_links": [
|
|
1471
|
+
"https://github.com/TurboTheTurtle/rabbit-r1-firmware"
|
|
1472
|
+
],
|
|
1473
|
+
"community_size_bucket": "small",
|
|
1474
|
+
"notes": "AI companion device with MediaTek Helio P35, 4GB RAM, 128GB eMMC, 2.88-inch touchscreen, scroll wheel, rotating camera. The rabbit-r1-firmware repo provides complete CipherOS (Android 16) flashing guides, stock firmware restoration, automation scripts, and hardware documentation. Fastboot entry requires mtkbootcmd.py via MediaTek preloader serial (no volume buttons). Community has successfully replaced the stock RabbitOS with full Android, enabling any Android app to run.",
|
|
1475
|
+
"est_used_price_usd_min": 40,
|
|
1476
|
+
"est_used_price_usd_max": 80,
|
|
1477
|
+
"est_setup_hours_min": 4,
|
|
1478
|
+
"est_setup_hours_max": 8
|
|
1479
|
+
},
|
|
1480
|
+
{
|
|
1481
|
+
"id": "chumby",
|
|
1482
|
+
"name": "Chumby / Insignia Infocast",
|
|
1483
|
+
"category": "other",
|
|
1484
|
+
"idea_fit_tags": [
|
|
1485
|
+
"ambient",
|
|
1486
|
+
"display",
|
|
1487
|
+
"creative-coding"
|
|
1488
|
+
],
|
|
1489
|
+
"hack_difficulty": 4,
|
|
1490
|
+
"brick_risk": 2,
|
|
1491
|
+
"brick_provenance": "community-reported",
|
|
1492
|
+
"last_verified": "2026-05-06",
|
|
1493
|
+
"firmware_links": [
|
|
1494
|
+
"https://github.com/clearwater/chumby-linux",
|
|
1495
|
+
"https://github.com/clearwater/chumby-oe"
|
|
1496
|
+
],
|
|
1497
|
+
"community_size_bucket": "tiny",
|
|
1498
|
+
"notes": "Classic hackable ambient internet display from 2007-2011. ARM9-based Linux device with 3.5-8 inch touchscreen, WiFi, accelerometer, USB ports. The chumby-linux repo provides a modern kernel fork (2.6.31+) for the Chumby Hackers Board. The chumby-oe repo has OpenEmbedded build tools for custom firmware. Buildroot configs exist for Chumby 8 with working WiFi, PWM backlight, touchscreen, DRM display, and Qt apps.",
|
|
1499
|
+
"est_used_price_usd_min": 15,
|
|
1500
|
+
"est_used_price_usd_max": 40,
|
|
1501
|
+
"est_setup_hours_min": 4,
|
|
1502
|
+
"est_setup_hours_max": 12
|
|
1503
|
+
},
|
|
1504
|
+
{
|
|
1505
|
+
"id": "ricoh-theta-sc",
|
|
1506
|
+
"name": "Ricoh Theta SC",
|
|
1507
|
+
"category": "other",
|
|
1508
|
+
"idea_fit_tags": [
|
|
1509
|
+
"peripheral",
|
|
1510
|
+
"creative-coding"
|
|
1511
|
+
],
|
|
1512
|
+
"hack_difficulty": 3,
|
|
1513
|
+
"brick_risk": 2,
|
|
1514
|
+
"brick_provenance": "community-reported",
|
|
1515
|
+
"last_verified": "2026-05-06",
|
|
1516
|
+
"firmware_links": [
|
|
1517
|
+
"https://github.com/ricohapi/theta-client",
|
|
1518
|
+
"https://github.com/ricohapi/theta-plugin-sdk"
|
|
1519
|
+
],
|
|
1520
|
+
"community_size_bucket": "small",
|
|
1521
|
+
"notes": "360-degree camera with official open-source SDK (theta-client, Kotlin, MIT license). theta-client provides full camera control: capture, settings, live preview, media transfer. Theta Plugin SDK allows running Android apps directly on the camera (Theta V/Z1/X). WebAPI v2.1 provides HTTP REST interface for remote control. fake-theta simulator for offline development. Theta SC is the budget model (still image focus, no 4K video) but uses the same API.",
|
|
1522
|
+
"est_used_price_usd_min": 50,
|
|
1523
|
+
"est_used_price_usd_max": 120,
|
|
1524
|
+
"est_setup_hours_min": 1,
|
|
1525
|
+
"est_setup_hours_max": 3
|
|
1526
|
+
},
|
|
1527
|
+
{
|
|
1528
|
+
"id": "google-nexus-5x",
|
|
1529
|
+
"name": "LG Nexus 5X",
|
|
1530
|
+
"category": "handheld",
|
|
1531
|
+
"idea_fit_tags": [
|
|
1532
|
+
"handheld",
|
|
1533
|
+
"educational"
|
|
1534
|
+
],
|
|
1535
|
+
"hack_difficulty": 2,
|
|
1536
|
+
"brick_risk": 4,
|
|
1537
|
+
"brick_provenance": "community-reported",
|
|
1538
|
+
"last_verified": "2026-05-06",
|
|
1539
|
+
"firmware_links": [
|
|
1540
|
+
"https://github.com/LineageOS/android_device_lge_bullhead",
|
|
1541
|
+
"https://wiki.lineageos.org/devices/bullhead/"
|
|
1542
|
+
],
|
|
1543
|
+
"community_size_bucket": "small",
|
|
1544
|
+
"notes": "Official LineageOS support up to 15.1 (Android 8.1). Snapdragon 808, 2GB RAM, 5.2-inch LCD. Bootloader unlockable via fastboot oem unlock. Factory images available from Google for recovery. Known bootloop issue due to BGA soldering defect on Snapdragon 808/810 (affecting ~30% of units) - this is a hardware failure, not firmware-related. USB HID device support available via kernel patch. NetHunter supported.",
|
|
1545
|
+
"est_used_price_usd_min": 25,
|
|
1546
|
+
"est_used_price_usd_max": 50,
|
|
1547
|
+
"est_setup_hours_min": 1,
|
|
1548
|
+
"est_setup_hours_max": 2
|
|
1549
|
+
},
|
|
1550
|
+
{
|
|
1551
|
+
"id": "anbernic-rg353v",
|
|
1552
|
+
"name": "Anbernic RG353V",
|
|
1553
|
+
"category": "handheld",
|
|
1554
|
+
"idea_fit_tags": [
|
|
1555
|
+
"retrogaming",
|
|
1556
|
+
"handheld"
|
|
1557
|
+
],
|
|
1558
|
+
"hack_difficulty": 2,
|
|
1559
|
+
"brick_risk": 2,
|
|
1560
|
+
"brick_provenance": "community-reported",
|
|
1561
|
+
"last_verified": "2026-05-06",
|
|
1562
|
+
"firmware_links": [
|
|
1563
|
+
"https://github.com/christianhaitian/arkos",
|
|
1564
|
+
"https://github.com/JustEnoughLinuxOS/distribution"
|
|
1565
|
+
],
|
|
1566
|
+
"community_size_bucket": "active",
|
|
1567
|
+
"notes": "Handheld with Rockchip RK3566 quad-core ARM, 2GB RAM, 3.5-inch IPS touchscreen, 3200mAh battery, WiFi 5 + Bluetooth. Supports multiple CFW: ArkOS (most popular), JELOS, UnofficialOS, ROCKNIX. RK3566 is well-supported in mainline Linux. Emulation up to PSP/Dreamcast/N64 depending on CFW. HDMI output for TV docking. CFW installation via SD card flash (Rufus/balenaEtcher). Active Reddit community and Discord servers.",
|
|
1568
|
+
"est_used_price_usd_min": 70,
|
|
1569
|
+
"est_used_price_usd_max": 120,
|
|
1570
|
+
"est_setup_hours_min": 1,
|
|
1571
|
+
"est_setup_hours_max": 3
|
|
1572
|
+
},
|
|
1573
|
+
{
|
|
1574
|
+
"id": "intel-nuc",
|
|
1575
|
+
"name": "Intel NUC (Older Generations)",
|
|
1576
|
+
"category": "mini-pc",
|
|
1577
|
+
"idea_fit_tags": [
|
|
1578
|
+
"mini-pc",
|
|
1579
|
+
"low-power",
|
|
1580
|
+
"network",
|
|
1581
|
+
"iot"
|
|
1582
|
+
],
|
|
1583
|
+
"hack_difficulty": 1,
|
|
1584
|
+
"brick_risk": 1,
|
|
1585
|
+
"brick_provenance": "community-reported",
|
|
1586
|
+
"last_verified": "2026-05-06",
|
|
1587
|
+
"firmware_links": [
|
|
1588
|
+
"https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files",
|
|
1589
|
+
"https://www.debian.org/distrib/"
|
|
1590
|
+
],
|
|
1591
|
+
"community_size_bucket": "thriving",
|
|
1592
|
+
"notes": "Tiny x86 PCs in various generations (DNxxxx = Celeron/Pentium, NUC5/6/7 = Core i3/i5/i7). Standard x86 architecture means any Linux distro, FreeBSD, or Windows installs out-of-the-box. 4-32GB DDR4/DDR3L SODIMM, M.2 or 2.5-inch SATA storage, Intel UHD/Iris graphics, multiple USB 3.0, HDMI/DP, Gigabit Ethernet. Popular for Home Assistant, Plex, pfSense/OPNsense (with appropriate NIC), and general server duties. Excellent upstream Linux support via Intel.",
|
|
1593
|
+
"est_used_price_usd_min": 40,
|
|
1594
|
+
"est_used_price_usd_max": 150,
|
|
1595
|
+
"est_setup_hours_min": 1,
|
|
1596
|
+
"est_setup_hours_max": 2
|
|
1597
|
+
},
|
|
1598
|
+
{
|
|
1599
|
+
"id": "lenovo-thinkcentre-tiny",
|
|
1600
|
+
"name": "Lenovo ThinkCentre Tiny (M Series)",
|
|
1601
|
+
"category": "mini-pc",
|
|
1602
|
+
"idea_fit_tags": [
|
|
1603
|
+
"mini-pc",
|
|
1604
|
+
"low-power",
|
|
1605
|
+
"network",
|
|
1606
|
+
"educational"
|
|
1607
|
+
],
|
|
1608
|
+
"hack_difficulty": 1,
|
|
1609
|
+
"brick_risk": 1,
|
|
1610
|
+
"brick_provenance": "community-reported",
|
|
1611
|
+
"last_verified": "2026-05-06",
|
|
1612
|
+
"firmware_links": [
|
|
1613
|
+
"https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files",
|
|
1614
|
+
"https://support.lenovo.com/us/en/solutions/ht513293"
|
|
1615
|
+
],
|
|
1616
|
+
"community_size_bucket": "active",
|
|
1617
|
+
"notes": "1L form factor business mini PCs (M73, M93p, M710q, M720q, M920q). Intel Core i3/i5/i7 (4th-9th gen), DDR3L/DDR4 SODIMM, M.2 + 2.5-inch SATA, Intel graphics, multiple USB, DisplayPort, Gigabit Ethernet. Standard x86 - any Linux/Windows installs directly. Corporate surplus means abundant, cheap used supply. Some models have M.2 WiFi slot, M920q supports PCIe x16 riser for GPU. Popular for Proxmox, OPNsense, NAS (with SATA expansion).",
|
|
1618
|
+
"est_used_price_usd_min": 35,
|
|
1619
|
+
"est_used_price_usd_max": 120,
|
|
1620
|
+
"est_setup_hours_min": 1,
|
|
1621
|
+
"est_setup_hours_max": 2
|
|
1622
|
+
},
|
|
1623
|
+
{
|
|
1624
|
+
"id": "odroid-go",
|
|
1625
|
+
"name": "ODROID-GO",
|
|
1626
|
+
"category": "handheld",
|
|
1627
|
+
"idea_fit_tags": [
|
|
1628
|
+
"retrogaming",
|
|
1629
|
+
"handheld",
|
|
1630
|
+
"educational"
|
|
1631
|
+
],
|
|
1632
|
+
"hack_difficulty": 2,
|
|
1633
|
+
"brick_risk": 2,
|
|
1634
|
+
"brick_provenance": "community-reported",
|
|
1635
|
+
"last_verified": "2026-05-06",
|
|
1636
|
+
"firmware_links": [
|
|
1637
|
+
"https://github.com/ducalex/retro-go",
|
|
1638
|
+
"https://github.com/ducalex/odroid-go-multi-firmware"
|
|
1639
|
+
],
|
|
1640
|
+
"community_size_bucket": "active",
|
|
1641
|
+
"notes": "ESP32-based retro handheld from Hardkernel. 2.4-inch color LCD, 4MB flash, microSD slot, speaker, built-in battery. Primary CFW is Retro-Go by ducalex - supports NES, Game Boy/Color, SNES (slow), SMS/GG, Genesis, PCE, Colecovision, Atari Lynx, DOOM. Multi-firmware bootloader allows switching between apps from SD card. WiFi support for file manager and NTP time sync. GPIO header accessible for hardware mods (external DAC, I2C peripherals). ESP32 dev experience applies.",
|
|
1642
|
+
"est_used_price_usd_min": 35,
|
|
1643
|
+
"est_used_price_usd_max": 55,
|
|
1644
|
+
"est_setup_hours_min": 1,
|
|
1645
|
+
"est_setup_hours_max": 2
|
|
1646
|
+
},
|
|
1647
|
+
{
|
|
1648
|
+
"id": "espressif-esp32-c5-devkitc-1",
|
|
1649
|
+
"name": "Espressif ESP32-C5-DevKitC-1",
|
|
1650
|
+
"category": "sbc",
|
|
1651
|
+
"idea_fit_tags": [
|
|
1652
|
+
"sbc",
|
|
1653
|
+
"iot",
|
|
1654
|
+
"low-power",
|
|
1655
|
+
"agent-gadget"
|
|
1656
|
+
],
|
|
1657
|
+
"hack_difficulty": 2,
|
|
1658
|
+
"brick_risk": 1,
|
|
1659
|
+
"brick_provenance": "llm-inferred",
|
|
1660
|
+
"last_verified": "2026-10-02",
|
|
1661
|
+
"firmware_links": [
|
|
1662
|
+
"https://github.com/facebookincubator/muse-gadget-sdk/tree/main/esp32",
|
|
1663
|
+
"https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c5/esp32-c5-devkitc-1/user_guide.html"
|
|
1664
|
+
],
|
|
1665
|
+
"community_size_bucket": "active",
|
|
1666
|
+
"notes": "Muse Gadgets' recommended starter board: status light + button only, no screen. Dual-band Wi-Fi 6, BLE, Thread/Zigbee, 8MB flash + 4/8MB PSRAM, so it gets Muse's home-network tunnel. Cheapest way to give Muse a physical presence or a local-network foothold.",
|
|
1667
|
+
"est_used_price_usd_min": 15,
|
|
1668
|
+
"est_used_price_usd_max": 20,
|
|
1669
|
+
"image_url": "https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c5/_images/esp32-c5-devkitc-1-isometric_v1.1.png",
|
|
1670
|
+
"est_setup_hours_min": 1,
|
|
1671
|
+
"est_setup_hours_max": 3,
|
|
1672
|
+
"physical": {
|
|
1673
|
+
"orientation": "flat",
|
|
1674
|
+
"shape": "board",
|
|
1675
|
+
"size_mm": {
|
|
1676
|
+
"w": 25.4,
|
|
1677
|
+
"h": 60.1,
|
|
1678
|
+
"t": null
|
|
1679
|
+
},
|
|
1680
|
+
"size_confidence": "drawing",
|
|
1681
|
+
"size_note": "PCB 53.6 x 25.4 mm; module antenna overhangs 6.5 mm (60.1 total). Thickness incl. headers not published.",
|
|
1682
|
+
"comes_in_case": false,
|
|
1683
|
+
"mass_g": null,
|
|
1684
|
+
"usb": {
|
|
1685
|
+
"type": "usb-c",
|
|
1686
|
+
"count": 2,
|
|
1687
|
+
"faces": [
|
|
1688
|
+
"bottom"
|
|
1689
|
+
],
|
|
1690
|
+
"note": "UART + native USB on the short edge opposite the antenna."
|
|
1691
|
+
},
|
|
1692
|
+
"mounting": "No mounting holes on the dimension drawing.",
|
|
1693
|
+
"printables": [],
|
|
1694
|
+
"source_url": "https://dl.espressif.com/dl/schematics/Dimension_esp32-c5-devkitc-1_v1.2_20250509.pdf"
|
|
1695
|
+
}
|
|
1696
|
+
},
|
|
1697
|
+
{
|
|
1698
|
+
"id": "ideaspark-esp32-1-9-lcd",
|
|
1699
|
+
"name": "ideaspark ESP32 with 1.9\" LCD",
|
|
1700
|
+
"category": "display",
|
|
1701
|
+
"idea_fit_tags": [
|
|
1702
|
+
"display",
|
|
1703
|
+
"iot",
|
|
1704
|
+
"low-power",
|
|
1705
|
+
"agent-gadget"
|
|
1706
|
+
],
|
|
1707
|
+
"hack_difficulty": 2,
|
|
1708
|
+
"brick_risk": 1,
|
|
1709
|
+
"brick_provenance": "llm-inferred",
|
|
1710
|
+
"last_verified": "2026-10-02",
|
|
1711
|
+
"firmware_links": [
|
|
1712
|
+
"https://github.com/facebookincubator/muse-gadget-sdk/tree/main/esp32",
|
|
1713
|
+
"https://manuals.plus/ae/1005007181435830"
|
|
1714
|
+
],
|
|
1715
|
+
"community_size_bucket": "small",
|
|
1716
|
+
"notes": "Classic ESP32 (no PSRAM) with a 1.9\" 170x320 ST7789 LCD. Muse shows status and draws images straight to the screen, but there is no home-network tunnel. Needs chip rev 3.0+ for signed apps (the D0WD-V3 qualifies). Cheap, bare PCB, no case.",
|
|
1717
|
+
"est_used_price_usd_min": 12,
|
|
1718
|
+
"est_used_price_usd_max": 18,
|
|
1719
|
+
"est_setup_hours_min": 1,
|
|
1720
|
+
"est_setup_hours_max": 3,
|
|
1721
|
+
"physical": {
|
|
1722
|
+
"orientation": "upright",
|
|
1723
|
+
"shape": "board",
|
|
1724
|
+
"size_mm": {
|
|
1725
|
+
"w": 31.5,
|
|
1726
|
+
"h": 63.8,
|
|
1727
|
+
"t": null
|
|
1728
|
+
},
|
|
1729
|
+
"size_confidence": "published",
|
|
1730
|
+
"size_note": "Listed as 2.51 x 1.24 in. Thickness and USB edge not published; display active area 24.91 x 41.49 mm.",
|
|
1731
|
+
"comes_in_case": false,
|
|
1732
|
+
"mass_g": null,
|
|
1733
|
+
"usb": {
|
|
1734
|
+
"type": "usb-c",
|
|
1735
|
+
"count": 1,
|
|
1736
|
+
"faces": [],
|
|
1737
|
+
"note": "CH340 USB-C; edge not stated in any source."
|
|
1738
|
+
},
|
|
1739
|
+
"mounting": null,
|
|
1740
|
+
"printables": [],
|
|
1741
|
+
"source_url": "https://manuals.plus/ae/1005007181435830"
|
|
1742
|
+
}
|
|
1743
|
+
},
|
|
1744
|
+
{
|
|
1745
|
+
"id": "seeed-sensecap-indicator",
|
|
1746
|
+
"name": "Seeed SenseCAP Indicator (D1 series)",
|
|
1747
|
+
"category": "display",
|
|
1748
|
+
"idea_fit_tags": [
|
|
1749
|
+
"display",
|
|
1750
|
+
"sensor",
|
|
1751
|
+
"kiosk",
|
|
1752
|
+
"ambient",
|
|
1753
|
+
"iot",
|
|
1754
|
+
"agent-gadget"
|
|
1755
|
+
],
|
|
1756
|
+
"hack_difficulty": 2,
|
|
1757
|
+
"brick_risk": 1,
|
|
1758
|
+
"brick_provenance": "llm-inferred",
|
|
1759
|
+
"last_verified": "2026-10-02",
|
|
1760
|
+
"firmware_links": [
|
|
1761
|
+
"https://github.com/facebookincubator/muse-gadget-sdk/tree/main/esp32",
|
|
1762
|
+
"https://wiki.seeedstudio.com/Sensor/SenseCAP/SenseCAP_Indicator/Get_started_with_SenseCAP_Indicator/",
|
|
1763
|
+
"https://github.com/Seeed-Solution/SenseCAP_Indicator_ESP32"
|
|
1764
|
+
],
|
|
1765
|
+
"community_size_bucket": "active",
|
|
1766
|
+
"notes": "4\" 480x480 touchscreen (ESP32-S3 + RP2040) in a finished case with kickstand. Muse: status screen + images. D1S/D1Pro add CO2, tVOC and temp/humidity that Muse can read with sensors.read; D1 has no sensors. Buzzer only, no mic/speaker.",
|
|
1767
|
+
"est_used_price_usd_min": 49,
|
|
1768
|
+
"est_used_price_usd_max": 89,
|
|
1769
|
+
"image_url": "https://media-cdn.seeedstudio.com/media/catalog/product/cache/48035b5512857d0ab907b31a092da78f/_/1/_1_5.png",
|
|
1770
|
+
"est_setup_hours_min": 1,
|
|
1771
|
+
"est_setup_hours_max": 3,
|
|
1772
|
+
"physical": {
|
|
1773
|
+
"orientation": "upright",
|
|
1774
|
+
"shape": "box",
|
|
1775
|
+
"size_mm": {
|
|
1776
|
+
"w": 93,
|
|
1777
|
+
"h": 97,
|
|
1778
|
+
"t": 18
|
|
1779
|
+
},
|
|
1780
|
+
"size_confidence": "published",
|
|
1781
|
+
"size_note": "From TTN device repository and a Seeed dimension graphic, not a Seeed spec table.",
|
|
1782
|
+
"comes_in_case": true,
|
|
1783
|
+
"mass_g": null,
|
|
1784
|
+
"usb": {
|
|
1785
|
+
"type": "usb-c",
|
|
1786
|
+
"count": 2,
|
|
1787
|
+
"faces": [
|
|
1788
|
+
"bottom",
|
|
1789
|
+
"back"
|
|
1790
|
+
],
|
|
1791
|
+
"note": "One on the bottom edge next to microSD, one in the back kickstand recess."
|
|
1792
|
+
},
|
|
1793
|
+
"mounting": "Fold-out kickstand and keyhole wall slot (no dimensions published).",
|
|
1794
|
+
"printables": [],
|
|
1795
|
+
"source_url": "https://www.thethingsnetwork.org/device-repository/devices/seeed/sensecap-indicator/"
|
|
1796
|
+
}
|
|
1797
|
+
},
|
|
1798
|
+
{
|
|
1799
|
+
"id": "seeed-reterminal-e1001",
|
|
1800
|
+
"name": "Seeed reTerminal E1001 (7.5\" e-paper)",
|
|
1801
|
+
"category": "display",
|
|
1802
|
+
"idea_fit_tags": [
|
|
1803
|
+
"display",
|
|
1804
|
+
"e-ink",
|
|
1805
|
+
"framed-art",
|
|
1806
|
+
"ambient",
|
|
1807
|
+
"low-power",
|
|
1808
|
+
"agent-gadget"
|
|
1809
|
+
],
|
|
1810
|
+
"hack_difficulty": 2,
|
|
1811
|
+
"brick_risk": 1,
|
|
1812
|
+
"brick_provenance": "llm-inferred",
|
|
1813
|
+
"last_verified": "2026-10-02",
|
|
1814
|
+
"firmware_links": [
|
|
1815
|
+
"https://github.com/facebookincubator/muse-gadget-sdk/tree/main/esp32",
|
|
1816
|
+
"https://wiki.seeedstudio.com/getting_started_with_reterminal_e1001/",
|
|
1817
|
+
"https://github.com/Seeed-Projects/OSHW-reTerminal-Series-E-D"
|
|
1818
|
+
],
|
|
1819
|
+
"community_size_bucket": "small",
|
|
1820
|
+
"notes": "7.5\" 800x480 black-and-white e-paper, ESP32-S3, 2000mAh battery, temp/humidity sensor, ships with a stand. Muse shows status text and black-and-white images. The color E1002 appears on gadgets.muse.ai but only the E1001 is in the SDK's board list.",
|
|
1821
|
+
"est_used_price_usd_min": 69,
|
|
1822
|
+
"est_used_price_usd_max": 79,
|
|
1823
|
+
"image_url": "https://media-cdn.seeedstudio.com/media/catalog/product/cache/48035b5512857d0ab907b31a092da78f/1/-/1-104991002-reterminal-e1001-epaper-display.jpg",
|
|
1824
|
+
"est_setup_hours_min": 1,
|
|
1825
|
+
"est_setup_hours_max": 3,
|
|
1826
|
+
"physical": {
|
|
1827
|
+
"orientation": "upright",
|
|
1828
|
+
"shape": "box",
|
|
1829
|
+
"size_mm": {
|
|
1830
|
+
"w": 176,
|
|
1831
|
+
"h": 120,
|
|
1832
|
+
"t": 17
|
|
1833
|
+
},
|
|
1834
|
+
"size_confidence": "published",
|
|
1835
|
+
"size_note": "17 mm thick without the included stand, 53 mm deep with it.",
|
|
1836
|
+
"comes_in_case": true,
|
|
1837
|
+
"mass_g": null,
|
|
1838
|
+
"usb": {
|
|
1839
|
+
"type": "usb-c",
|
|
1840
|
+
"count": 1,
|
|
1841
|
+
"faces": [
|
|
1842
|
+
"left"
|
|
1843
|
+
],
|
|
1844
|
+
"note": "USB-C on the left edge (per CNX teardown)."
|
|
1845
|
+
},
|
|
1846
|
+
"mounting": "Wall hole on the back; embedded nuts for the included stand.",
|
|
1847
|
+
"printables": [],
|
|
1848
|
+
"source_url": "https://wiki.seeedstudio.com/getting_started_with_reterminal_e1001/"
|
|
1849
|
+
}
|
|
1850
|
+
},
|
|
1851
|
+
{
|
|
1852
|
+
"id": "home-assistant-voice-pe",
|
|
1853
|
+
"name": "Home Assistant Voice Preview Edition",
|
|
1854
|
+
"category": "speaker",
|
|
1855
|
+
"idea_fit_tags": [
|
|
1856
|
+
"voice",
|
|
1857
|
+
"audio-out",
|
|
1858
|
+
"input",
|
|
1859
|
+
"iot",
|
|
1860
|
+
"agent-gadget"
|
|
1861
|
+
],
|
|
1862
|
+
"hack_difficulty": 2,
|
|
1863
|
+
"brick_risk": 1,
|
|
1864
|
+
"brick_provenance": "llm-inferred",
|
|
1865
|
+
"last_verified": "2026-10-02",
|
|
1866
|
+
"firmware_links": [
|
|
1867
|
+
"https://github.com/facebookincubator/muse-gadget-sdk/tree/main/esp32",
|
|
1868
|
+
"https://github.com/esphome/home-assistant-voice-pe",
|
|
1869
|
+
"https://www.home-assistant.io/voice-pe/"
|
|
1870
|
+
],
|
|
1871
|
+
"community_size_bucket": "thriving",
|
|
1872
|
+
"notes": "ESP32-S3 + XMOS voice puck: dual mics, speaker, 3.5mm out, LED ring, rotary dial, hardware mute. Under Muse it is push-to-talk with status on the LED ring and the dial as volume. Flashing Muse replaces the ESPHome firmware; reflash ESPHome to go back to Home Assistant.",
|
|
1873
|
+
"est_used_price_usd_min": 69,
|
|
1874
|
+
"est_used_price_usd_max": 69,
|
|
1875
|
+
"image_url": "https://www.home-assistant.io/images/voice-pe/vpe-top.webp",
|
|
1876
|
+
"est_setup_hours_min": 1,
|
|
1877
|
+
"est_setup_hours_max": 3,
|
|
1878
|
+
"physical": {
|
|
1879
|
+
"orientation": "flat",
|
|
1880
|
+
"shape": "box",
|
|
1881
|
+
"size_mm": {
|
|
1882
|
+
"w": 84,
|
|
1883
|
+
"h": 84,
|
|
1884
|
+
"t": 21
|
|
1885
|
+
},
|
|
1886
|
+
"size_confidence": "published",
|
|
1887
|
+
"size_note": "Square puck that sits flat; LED ring and dial on the top face.",
|
|
1888
|
+
"comes_in_case": true,
|
|
1889
|
+
"mass_g": 96,
|
|
1890
|
+
"usb": {
|
|
1891
|
+
"type": "usb-c",
|
|
1892
|
+
"count": 1,
|
|
1893
|
+
"faces": [
|
|
1894
|
+
"top"
|
|
1895
|
+
],
|
|
1896
|
+
"note": "On the rear side wall next to the 3.5mm jack (\"top\" = far edge for flat devices)."
|
|
1897
|
+
},
|
|
1898
|
+
"mounting": null,
|
|
1899
|
+
"printables": [],
|
|
1900
|
+
"source_url": "https://www.home-assistant.io/voice-pe/"
|
|
1901
|
+
}
|
|
1902
|
+
},
|
|
1903
|
+
{
|
|
1904
|
+
"id": "waveshare-esp32-s3-touch-amoled-1-75c",
|
|
1905
|
+
"name": "Waveshare ESP32-S3-Touch-AMOLED-1.75C (round)",
|
|
1906
|
+
"category": "display",
|
|
1907
|
+
"idea_fit_tags": [
|
|
1908
|
+
"display",
|
|
1909
|
+
"voice",
|
|
1910
|
+
"audio-out",
|
|
1911
|
+
"ambient",
|
|
1912
|
+
"creative-coding",
|
|
1913
|
+
"agent-gadget"
|
|
1914
|
+
],
|
|
1915
|
+
"hack_difficulty": 2,
|
|
1916
|
+
"brick_risk": 1,
|
|
1917
|
+
"brick_provenance": "llm-inferred",
|
|
1918
|
+
"last_verified": "2026-10-02",
|
|
1919
|
+
"firmware_links": [
|
|
1920
|
+
"https://github.com/facebookincubator/muse-gadget-sdk/tree/main/esp32",
|
|
1921
|
+
"https://docs.waveshare.com/ESP32-S3-Touch-AMOLED-1.75C",
|
|
1922
|
+
"https://github.com/waveshareteam/ESP32-S3-Touch-AMOLED-1.75C"
|
|
1923
|
+
],
|
|
1924
|
+
"community_size_bucket": "small",
|
|
1925
|
+
"notes": "Round 1.75\" 466x466 touch AMOLED in a CNC aluminum case (the C SKU). ESP32-S3, 8MB PSRAM, dual mics, speaker, IMU. Full Muse UI: animated avatar, push-to-talk, settings, images. The closest DIY match to a Muse Charm on your desk. Optional internal battery.",
|
|
1926
|
+
"est_used_price_usd_min": 40,
|
|
1927
|
+
"est_used_price_usd_max": 42,
|
|
1928
|
+
"image_url": "https://www.waveshare.com/img/devkit/ESP32-S3-Touch-AMOLED-1.75C/ESP32-S3-Touch-AMOLED-1.75C-details-1.jpg",
|
|
1929
|
+
"est_setup_hours_min": 1,
|
|
1930
|
+
"est_setup_hours_max": 3,
|
|
1931
|
+
"physical": {
|
|
1932
|
+
"orientation": "upright",
|
|
1933
|
+
"shape": "round",
|
|
1934
|
+
"size_mm": {
|
|
1935
|
+
"w": 55.0,
|
|
1936
|
+
"h": 55.0,
|
|
1937
|
+
"t": 15.05
|
|
1938
|
+
},
|
|
1939
|
+
"size_confidence": "drawing",
|
|
1940
|
+
"size_note": "55.00 mm diameter; glass 48.96, active area 43.76.",
|
|
1941
|
+
"comes_in_case": true,
|
|
1942
|
+
"mass_g": null,
|
|
1943
|
+
"usb": {
|
|
1944
|
+
"type": "usb-c",
|
|
1945
|
+
"count": 1,
|
|
1946
|
+
"faces": [
|
|
1947
|
+
"bottom"
|
|
1948
|
+
],
|
|
1949
|
+
"note": "USB-C at 6 o'clock; PWR/BOOT buttons on the right edge at ~2 and ~4 o'clock."
|
|
1950
|
+
},
|
|
1951
|
+
"mounting": null,
|
|
1952
|
+
"printables": [
|
|
1953
|
+
"desk-stand"
|
|
1954
|
+
],
|
|
1955
|
+
"source_url": "https://www.waveshare.com/img/devkit/ESP32-S3-Touch-AMOLED-1.75C/ESP32-S3-Touch-AMOLED-1.75C-details-size.jpg"
|
|
1956
|
+
}
|
|
1957
|
+
},
|
|
1958
|
+
{
|
|
1959
|
+
"id": "aipi-lite",
|
|
1960
|
+
"name": "AIPI Lite",
|
|
1961
|
+
"category": "speaker",
|
|
1962
|
+
"idea_fit_tags": [
|
|
1963
|
+
"voice",
|
|
1964
|
+
"audio-out",
|
|
1965
|
+
"display",
|
|
1966
|
+
"low-power",
|
|
1967
|
+
"agent-gadget"
|
|
1968
|
+
],
|
|
1969
|
+
"hack_difficulty": 2,
|
|
1970
|
+
"brick_risk": 1,
|
|
1971
|
+
"brick_provenance": "llm-inferred",
|
|
1972
|
+
"last_verified": "2026-10-02",
|
|
1973
|
+
"firmware_links": [
|
|
1974
|
+
"https://github.com/facebookincubator/muse-gadget-sdk/tree/main/esp32",
|
|
1975
|
+
"https://aipi.com/pages/manual",
|
|
1976
|
+
"https://github.com/sticks918/AIPI-Lite-ESPHome"
|
|
1977
|
+
],
|
|
1978
|
+
"community_size_bucket": "small",
|
|
1979
|
+
"notes": "Palm-size ESP32-S3 voice buddy (X-ORIGIN / AIPI Labs) with a 128x128 LCD, mic, speaker and a snap-on 450mAh battery. Full Muse UI with push-to-talk, two-button menu and images. No official firmware repo; community ESPHome port exists.",
|
|
1980
|
+
"est_used_price_usd_min": 36,
|
|
1981
|
+
"est_used_price_usd_max": 36,
|
|
1982
|
+
"image_url": "https://aipi.com/cdn/shop/files/AIPI_Lite_Blue_Device_450mAh_Battery_Shopify_Variant_1x1_MobileSafe_v2.png",
|
|
1983
|
+
"est_setup_hours_min": 1,
|
|
1984
|
+
"est_setup_hours_max": 3,
|
|
1985
|
+
"physical": {
|
|
1986
|
+
"orientation": "upright",
|
|
1987
|
+
"shape": "box",
|
|
1988
|
+
"size_mm": {
|
|
1989
|
+
"w": 55.5,
|
|
1990
|
+
"h": 47.5,
|
|
1991
|
+
"t": null
|
|
1992
|
+
},
|
|
1993
|
+
"size_confidence": "approximate",
|
|
1994
|
+
"size_note": "Manual lists 55.5 x 47.5 x 7.8 mm, likely without the snap-on battery module; which side is width is not stated.",
|
|
1995
|
+
"comes_in_case": true,
|
|
1996
|
+
"mass_g": null,
|
|
1997
|
+
"usb": {
|
|
1998
|
+
"type": "usb-c",
|
|
1999
|
+
"count": 1,
|
|
2000
|
+
"faces": [],
|
|
2001
|
+
"note": "Edge not stated; the battery module plugs into it."
|
|
2002
|
+
},
|
|
2003
|
+
"mounting": "Magnets in the case.",
|
|
2004
|
+
"printables": [],
|
|
2005
|
+
"source_url": "https://static.aipi.com/AIPI_InstructionBook/AIPI_InstructionBook.html"
|
|
2006
|
+
}
|
|
2007
|
+
},
|
|
2008
|
+
{
|
|
2009
|
+
"id": "waveshare-esp32-c6-touch-amoled-1-8",
|
|
2010
|
+
"name": "Waveshare ESP32-C6-Touch-AMOLED-1.8",
|
|
2011
|
+
"category": "display",
|
|
2012
|
+
"idea_fit_tags": [
|
|
2013
|
+
"display",
|
|
2014
|
+
"voice",
|
|
2015
|
+
"wearable",
|
|
2016
|
+
"low-power",
|
|
2017
|
+
"agent-gadget"
|
|
2018
|
+
],
|
|
2019
|
+
"hack_difficulty": 2,
|
|
2020
|
+
"brick_risk": 1,
|
|
2021
|
+
"brick_provenance": "llm-inferred",
|
|
2022
|
+
"last_verified": "2026-10-02",
|
|
2023
|
+
"firmware_links": [
|
|
2024
|
+
"https://github.com/facebookincubator/muse-gadget-sdk/tree/main/esp32",
|
|
2025
|
+
"https://docs.waveshare.com/ESP32-C6-Touch-AMOLED-1.8",
|
|
2026
|
+
"https://github.com/waveshareteam/ESP32-C6-Touch-AMOLED-1.8"
|
|
2027
|
+
],
|
|
2028
|
+
"community_size_bucket": "small",
|
|
2029
|
+
"notes": "1.8\" 368x448 touch AMOLED in a case, ESP32-C6, mic + speaker, IMU, RTC. No PSRAM: full Muse UI, but push-to-talk replies scroll past as text, no images and no home-network tunnel. Cheapest full-UI board.",
|
|
2030
|
+
"est_used_price_usd_min": 29,
|
|
2031
|
+
"est_used_price_usd_max": 30,
|
|
2032
|
+
"image_url": "https://www.waveshare.com/img/devkit/ESP32-C6-Touch-AMOLED-1.8/ESP32-C6-Touch-AMOLED-1.8-1.jpg",
|
|
2033
|
+
"est_setup_hours_min": 1,
|
|
2034
|
+
"est_setup_hours_max": 3,
|
|
2035
|
+
"physical": {
|
|
2036
|
+
"orientation": "upright",
|
|
2037
|
+
"shape": "box",
|
|
2038
|
+
"size_mm": {
|
|
2039
|
+
"w": 37.6,
|
|
2040
|
+
"h": 45.2,
|
|
2041
|
+
"t": 15.0
|
|
2042
|
+
},
|
|
2043
|
+
"size_confidence": "drawing",
|
|
2044
|
+
"size_note": "Portrait. Display window 28.70 x 34.94 mm.",
|
|
2045
|
+
"comes_in_case": true,
|
|
2046
|
+
"mass_g": null,
|
|
2047
|
+
"usb": {
|
|
2048
|
+
"type": "usb-c",
|
|
2049
|
+
"count": 1,
|
|
2050
|
+
"faces": [
|
|
2051
|
+
"right"
|
|
2052
|
+
],
|
|
2053
|
+
"note": "USB-C on the right long edge, with PWR/BOOT buttons and the TF slot."
|
|
2054
|
+
},
|
|
2055
|
+
"mounting": "4 back-cover screws on a 27.60 mm square (drawing label 4*R1.80; hole size unconfirmed).",
|
|
2056
|
+
"printables": [
|
|
2057
|
+
"desk-stand"
|
|
2058
|
+
],
|
|
2059
|
+
"source_url": "https://docs.waveshare.com/assets/images/ESP32-C6-Touch-AMOLED-1.8-size-567e74ffd49f34e5d3d0e9ef419fcb30.webp"
|
|
2060
|
+
}
|
|
2061
|
+
},
|
|
2062
|
+
{
|
|
2063
|
+
"id": "seeed-sensecap-watcher",
|
|
2064
|
+
"name": "Seeed SenseCAP Watcher",
|
|
2065
|
+
"category": "sensor",
|
|
2066
|
+
"idea_fit_tags": [
|
|
2067
|
+
"sensor",
|
|
2068
|
+
"display",
|
|
2069
|
+
"voice",
|
|
2070
|
+
"iot",
|
|
2071
|
+
"agent-gadget"
|
|
2072
|
+
],
|
|
2073
|
+
"hack_difficulty": 2,
|
|
2074
|
+
"brick_risk": 1,
|
|
2075
|
+
"brick_provenance": "llm-inferred",
|
|
2076
|
+
"last_verified": "2026-10-02",
|
|
2077
|
+
"firmware_links": [
|
|
2078
|
+
"https://github.com/facebookincubator/muse-gadget-sdk/tree/main/esp32",
|
|
2079
|
+
"https://wiki.seeedstudio.com/watcher_hardware_overview/",
|
|
2080
|
+
"https://github.com/Seeed-Studio/OSHW-SenseCAP-Watcher"
|
|
2081
|
+
],
|
|
2082
|
+
"community_size_bucket": "small",
|
|
2083
|
+
"notes": "ESP32-S3 + Himax vision chip, 5MP camera, 1.45\" round touch LCD, mic, speaker, scroll wheel. Full Muse UI plus camera.capture, so Muse can look at a room or a 3D printer. Camera and on-device vision mean high privacy exposure; place it deliberately.",
|
|
2084
|
+
"est_used_price_usd_min": 55,
|
|
2085
|
+
"est_used_price_usd_max": 61,
|
|
2086
|
+
"image_url": "https://media-cdn.seeedstudio.com/media/catalog/product/cache/48035b5512857d0ab907b31a092da78f/1/-/1-113991315-sensecap-watcher-w1-a_1.jpg",
|
|
2087
|
+
"est_setup_hours_min": 1,
|
|
2088
|
+
"est_setup_hours_max": 3,
|
|
2089
|
+
"physical": {
|
|
2090
|
+
"orientation": "upright",
|
|
2091
|
+
"shape": "box",
|
|
2092
|
+
"size_mm": {
|
|
2093
|
+
"w": 69,
|
|
2094
|
+
"h": 65,
|
|
2095
|
+
"t": 20
|
|
2096
|
+
},
|
|
2097
|
+
"size_confidence": "conflicting",
|
|
2098
|
+
"size_note": "Seeed lists 69 x 65 x 20; Make: lists 64 x 68 x 19.5; which side is which is not stated.",
|
|
2099
|
+
"comes_in_case": true,
|
|
2100
|
+
"mass_g": null,
|
|
2101
|
+
"usb": {
|
|
2102
|
+
"type": "usb-c",
|
|
2103
|
+
"count": 2,
|
|
2104
|
+
"faces": [
|
|
2105
|
+
"back",
|
|
2106
|
+
"bottom"
|
|
2107
|
+
],
|
|
2108
|
+
"note": "Back port is power only; bottom port is power + programming."
|
|
2109
|
+
},
|
|
2110
|
+
"mounting": "Ships with a bracket, base plate and 1/4\" adapter set.",
|
|
2111
|
+
"printables": [],
|
|
2112
|
+
"source_url": "https://www.seeed.cc/product/sensecap-watcher-the-physical-ai-agent-for-smarter-spaces"
|
|
2113
|
+
}
|
|
2114
|
+
},
|
|
2115
|
+
{
|
|
2116
|
+
"id": "m5stack-sticks3",
|
|
2117
|
+
"name": "M5Stack StickS3",
|
|
2118
|
+
"category": "display",
|
|
2119
|
+
"idea_fit_tags": [
|
|
2120
|
+
"display",
|
|
2121
|
+
"voice",
|
|
2122
|
+
"wearable",
|
|
2123
|
+
"input",
|
|
2124
|
+
"low-power",
|
|
2125
|
+
"agent-gadget"
|
|
2126
|
+
],
|
|
2127
|
+
"hack_difficulty": 2,
|
|
2128
|
+
"brick_risk": 1,
|
|
2129
|
+
"brick_provenance": "llm-inferred",
|
|
2130
|
+
"last_verified": "2026-10-02",
|
|
2131
|
+
"firmware_links": [
|
|
2132
|
+
"https://github.com/facebookincubator/muse-gadget-sdk/tree/main/esp32",
|
|
2133
|
+
"https://docs.m5stack.com/en/core/StickS3",
|
|
2134
|
+
"https://github.com/m5stack/M5Unified"
|
|
2135
|
+
],
|
|
2136
|
+
"community_size_bucket": "active",
|
|
2137
|
+
"notes": "Pocket ESP32-S3 stick (8MB PSRAM) with 1.14\" LCD, mic, 1W speaker, IMU, IR TX/RX, 250mAh battery, magnetic back. Full Muse UI: push-to-talk, two-button menu, images. Successor to the StickC Plus2 and the best pocket remote for Muse.",
|
|
2138
|
+
"est_used_price_usd_min": 22,
|
|
2139
|
+
"est_used_price_usd_max": 22,
|
|
2140
|
+
"image_url": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1207/K150-stickS3_main-products_01.webp",
|
|
2141
|
+
"est_setup_hours_min": 1,
|
|
2142
|
+
"est_setup_hours_max": 2,
|
|
2143
|
+
"physical": {
|
|
2144
|
+
"orientation": "upright",
|
|
2145
|
+
"shape": "box",
|
|
2146
|
+
"size_mm": {
|
|
2147
|
+
"w": 24.0,
|
|
2148
|
+
"h": 48.0,
|
|
2149
|
+
"t": 15.0
|
|
2150
|
+
},
|
|
2151
|
+
"size_confidence": "drawing",
|
|
2152
|
+
"size_note": "Corner radius R3. Hole positions were measured off the drawing; confirm against a unit.",
|
|
2153
|
+
"corner_radius_mm": 3,
|
|
2154
|
+
"comes_in_case": true,
|
|
2155
|
+
"mass_g": 20.0,
|
|
2156
|
+
"usb": {
|
|
2157
|
+
"type": "usb-c",
|
|
2158
|
+
"count": 1,
|
|
2159
|
+
"faces": [
|
|
2160
|
+
"bottom"
|
|
2161
|
+
],
|
|
2162
|
+
"note": "USB-C on the bottom short edge next to the HY2.0 (Grove) port; 16-pin Hat2 header on top."
|
|
2163
|
+
},
|
|
2164
|
+
"mounting": "2x M2 threaded holes on the back, 18 mm apart, ~8.5 mm above the bottom edge.",
|
|
2165
|
+
"printables": [
|
|
2166
|
+
"desk-stand"
|
|
2167
|
+
],
|
|
2168
|
+
"source_url": "https://docs.m5stack.com/en/core/StickS3"
|
|
2169
|
+
}
|
|
2170
|
+
},
|
|
2171
|
+
{
|
|
2172
|
+
"id": "m5stack-stickc-plus2",
|
|
2173
|
+
"name": "M5Stack StickC Plus2",
|
|
2174
|
+
"category": "display",
|
|
2175
|
+
"idea_fit_tags": [
|
|
2176
|
+
"display",
|
|
2177
|
+
"wearable",
|
|
2178
|
+
"input",
|
|
2179
|
+
"low-power",
|
|
2180
|
+
"agent-gadget"
|
|
2181
|
+
],
|
|
2182
|
+
"hack_difficulty": 2,
|
|
2183
|
+
"brick_risk": 1,
|
|
2184
|
+
"brick_provenance": "llm-inferred",
|
|
2185
|
+
"last_verified": "2026-10-02",
|
|
2186
|
+
"firmware_links": [
|
|
2187
|
+
"https://github.com/facebookincubator/muse-gadget-sdk/tree/main/esp32",
|
|
2188
|
+
"https://docs.m5stack.com/en/core/M5StickC%20PLUS2",
|
|
2189
|
+
"https://github.com/m5stack/M5StickCPlus2"
|
|
2190
|
+
],
|
|
2191
|
+
"community_size_bucket": "active",
|
|
2192
|
+
"notes": "ESP32 stick (2MB PSRAM) with 1.14\" LCD, mic, buzzer, IMU, IR, 200mAh battery. Full Muse UI with push-to-talk, but buzzer only, so replies can't be spoken on-device. M5Stack lists it as end-of-life; buy the StickS3 unless you already own one.",
|
|
2193
|
+
"est_used_price_usd_min": 15,
|
|
2194
|
+
"est_used_price_usd_max": 20,
|
|
2195
|
+
"image_url": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/512/K016-P2.webp",
|
|
2196
|
+
"est_setup_hours_min": 1,
|
|
2197
|
+
"est_setup_hours_max": 2,
|
|
2198
|
+
"physical": {
|
|
2199
|
+
"orientation": "upright",
|
|
2200
|
+
"shape": "box",
|
|
2201
|
+
"size_mm": {
|
|
2202
|
+
"w": 24.0,
|
|
2203
|
+
"h": 48.0,
|
|
2204
|
+
"t": 13.5
|
|
2205
|
+
},
|
|
2206
|
+
"size_confidence": "published",
|
|
2207
|
+
"size_note": "Corner radius R3.",
|
|
2208
|
+
"corner_radius_mm": 3,
|
|
2209
|
+
"comes_in_case": true,
|
|
2210
|
+
"mass_g": 16.7,
|
|
2211
|
+
"usb": {
|
|
2212
|
+
"type": "usb-c",
|
|
2213
|
+
"count": 1,
|
|
2214
|
+
"faces": [
|
|
2215
|
+
"bottom"
|
|
2216
|
+
],
|
|
2217
|
+
"note": "USB-C on the bottom short edge next to the HY2.0 port; 8-pin HAT header on top."
|
|
2218
|
+
},
|
|
2219
|
+
"mounting": "Two hole pairs on the back, 16 mm c-c (figures from the StickC Plus drawing).",
|
|
2220
|
+
"printables": [
|
|
2221
|
+
"desk-stand"
|
|
2222
|
+
],
|
|
2223
|
+
"source_url": "https://docs.m5stack.com/en/core/M5StickC%20PLUS2"
|
|
2224
|
+
}
|
|
2225
|
+
},
|
|
2226
|
+
{
|
|
2227
|
+
"id": "raspberry-pi-5",
|
|
2228
|
+
"name": "Raspberry Pi 5",
|
|
2229
|
+
"category": "sbc",
|
|
2230
|
+
"idea_fit_tags": [
|
|
2231
|
+
"sbc",
|
|
2232
|
+
"kiosk",
|
|
2233
|
+
"creative-coding",
|
|
2234
|
+
"agent-gadget"
|
|
2235
|
+
],
|
|
2236
|
+
"hack_difficulty": 1,
|
|
2237
|
+
"brick_risk": 1,
|
|
2238
|
+
"brick_provenance": "llm-inferred",
|
|
2239
|
+
"last_verified": "2026-10-02",
|
|
2240
|
+
"firmware_links": [
|
|
2241
|
+
"https://github.com/facebookincubator/muse-gadget-sdk/tree/main/linux",
|
|
2242
|
+
"https://www.raspberrypi.com/documentation/"
|
|
2243
|
+
],
|
|
2244
|
+
"community_size_bucket": "thriving",
|
|
2245
|
+
"notes": "The board gadgets.muse.ai features for the Muse Linux SDK: install script, systemd service, and Muse gets shell, file and health commands as your user. Good host for Home Assistant plus a Muse bridge. Anything Muse runs here runs with your account's permissions.",
|
|
2246
|
+
"est_used_price_usd_min": 50,
|
|
2247
|
+
"est_used_price_usd_max": 120,
|
|
2248
|
+
"est_setup_hours_min": 0.5,
|
|
2249
|
+
"est_setup_hours_max": 2
|
|
705
2250
|
}
|
|
706
2251
|
]
|