Bangle.js is an open-source smartwatch platform powered by Espruino. You can install apps or create your own in JavaScript or Blockly, then transfer them to the watch wirelessly through a web browser. Bangle.js 2 is the current model; the original Bangle.js 1 has been discontinued.
What is Bangle.js?
Bangle.js is a hackable smartwatch designed to let owners change its software, not just use a fixed set of features. Its firmware and development environment are based on Espruino, an implementation of JavaScript for microcontrollers. The official documentation describes Bangle.js 2 as an open, hackable smartwatch, while the Bangle.js site advertises more than 600 free apps and Android/iOS integration. App counts and phone compatibility can change, so check the current documentation for details.
That openness is practical: apps can be installed from a browser, and developers can write their own rather than relying solely on a manufacturer’s app catalogue. The Bangle.js website and Espruino documentation provide the app loader, guides and technical references.
Can you program a smartwatch in JavaScript?
Yes. Bangle.js apps can be written in JavaScript or assembled with Blockly, then uploaded wirelessly through a web browser. This makes it approachable for JavaScript users while still leaving room to work directly with the watch’s sensors and hardware. Espruino’s documentation includes getting-started material, tutorials, API references, troubleshooting and hardware information.
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
- This is a programmed watch. Built on the ESP32 core, this device offers open hardware/software designs for endless customization. Program with MicroPython, or ESP-IDF, and integrate external modules like sensors to create tailored solutions.
- A crisp 200x200 monochrome screen ensures visibility in direct sunlight. Dynamic refresh technology minimizes energy use, consuming power only during content updates.
- Equipped with a tri-axis motion sensor and haptic feedback for gesture controls. Exposed GPIO ports allow seamless integration of add-ons (e.g., environmental or biometric sensors).
- Achieve 5-7 days of operation in low-refresh mode. Customizable sleep cycles and motion-triggered activation balance performance and longevity.
- Access open-source 3D case designs for personalized enclosures. Join a global community sharing watch faces, plugins, and firmware tweaks for limitless innovation.
It is a platform for experimentation as well as everyday watch functions: the hardware exposes location, motion, compass, heart-rate and environmental readings to compatible software. What the watch can do in practice depends on the installed apps and how they use those components.
What hardware does Bangle.js 2 have?
Bangle.js 2 pairs a 64 MHz Nordic nRF52840 ARM Cortex-M4 microcontroller with Bluetooth Low Energy. It has 256 kB of RAM, 1,024 kB of on-chip flash and 8 MB of external flash. The display is a 1.3-inch, 176 × 176 always-on 3-bit colour LCD with a full touchscreen and one side button.
Rank #2
- 【100+ BUILT-IN SPORTS MODES SUPPORTING AI ANALYSIS】The FitNova R1 indoor and outdoor fitness watch is your ultimate fitness tracker, supporting 100+ workout modes including running, cycling, swimming, HIIT, yoga, strength training, and more. It auto-detects running, walking, and cycling—no manual start needed—tracking every move accurately. Paired with the app, get 7- and 21-day performance trends plus AI-driven tips to optimize pace, form, and endurance. Whether training indoors, outdoors, or for a triathlon, train smarter and reach your goals faster
- 【5ATM PROFESSIONAL SWIMMING SMARTWATCH – ADVANCED PRO SWIM ANALYTICS】Swim smarter, perform better! Designed for passionate swimmers, track every lap with precision and monitor freestyle, breaststroke, backstroke, and more. Real-time metrics include distance, speed, stroke rate, SWOLF, and underwater heart rate. Customize pool lengths and pair with the app for advanced analytics, trend tracking, and technique tips to boost speed and efficiency. With robust 5ATM waterproofing—beyond IP68—train confidently in any water. Note: For optimal performance, avoid using buttons underwater and keep away from hot baths or saunas
- 【BUILT-IN GPS & COMPASS – PHONE-FREE DURING WORKOUTS】 Enjoy total freedom during runs, hikes, or rides. This high-precision GPS Smart Watch for men and women tracks distance, pace, and calories automatically during your workouts—no phone needed. Real-time GPS maps your route, and the built-in compass keeps you on course. After your activity, sync with the app for full maps and detailed insights. Every workout becomes smarter, safer, and more enjoyable
- 【24/7 HEALTH GUARDIAN & SMART ALERTS】This advanced smart health watch offers continuous heart rate monitoring all day and night—including underwater—and tracks resting heart rate trends for better health insights. It deeply monitors sleep cycles, including deep, light, and REM stages. You can customize start and end times in the app’s Sleep Do Not Disturb mode to ensure uninterrupted, restful nights. It also tracks blood oxygen and stress levels, supports women’s health, and provides reminders for goals, hydration, breathing exercises, plus smart notifications for calls, texts, and more—right on your wrist
- 【1.32” ULTRA-HD AMOLED DISPLAY & 200+ WATCH FACES WITH DIY & VIDEO】This 42mm (1.65") smartwatch for men and women features a 1.32” (33.5mm) ultra-HD AMOLED screen (466×466, 60Hz), sharper than most smartwatches. Always-On Display keeps time visible all day. One-button design ensures intuitive operation. Choose from 200+ watch faces, and upload your own photos or videos to create personalized animated watch faces—a feature most smartwatches lack
| Component | Bangle.js 2 specification |
|---|---|
| Processor | Nordic nRF52840 ARM Cortex-M4, 64 MHz |
| Memory | 256 kB RAM; 1,024 kB on-chip flash; 8 MB external flash |
| Display and controls | 1.3-inch 176 × 176 always-on 3-bit colour LCD; full touchscreen; one side button |
| Positioning and sensors | GPS/GLONASS; heart-rate monitor; three-axis accelerometer; three-axis magnetometer; air-pressure/temperature sensor |
| Other hardware | Bluetooth Low Energy and vibration motor |
| Battery and body | 175 mAh battery; 36 × 43 × 12 mm |
| Strap width | Standard 20 mm watch straps |
These specifications are from Espruino’s Bangle.js 2 technical documentation and technical details.
How long does the Bangle.js 2 battery last?
Espruino gives Bangle.js 2 a four-week standby-time figure and specifies a 175 mAh battery. Treat four weeks as a standby estimate, not a promise for typical active use: GPS, display use, sensors, vibration and app workload affect runtime. The documentation does not establish one universal active-use battery-life figure.
Rank #3
- This is a programmed watch. Built on the ESP32 core, Watch V2.0 PLUS combines open-source hardware and software for limitless customization. Developers can program with MicroPython, or ESP-IDF, while users personalize designs with 3D-printed cases and straps.
- A 200x200 monochrome screen delivers sharp visibility even in direct sunlight. Dynamic refresh technology ensures ultra-low power consumption, updating content without draining energy between changes.
- Seamlessly sync with external APIs (weather, news, music) and devices through multi-protocol support. Built-in 3-axis accelerometer enables gesture controls, while real-time clock (RTC) ensures precise timekeeping with alarms and calendar functions.
- Onboard USB-to-serial adapter allows instant programming. Expand functionality via GPIO pins for adding sensors or peripherals, backed by a thriving global maker community sharing templates and watch faces.
- Achieve 5-7 days of operation in time-only mode or 2-3 days with active data updates. Customizable sleep modes and motion-triggered wake-ups extend usage while balancing performance.
Is Bangle.js 2 waterproof?
Bangle.js 2 is rated IP67 for everyday water resistance, but Espruino explicitly says it is not intended for swimming or baths. Do not interpret the rating as approval for those activities. The original Bangle.js 1 has a different IP68 rating, but it is a separate model.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.What is the difference between Bangle.js 1 and Bangle.js 2?
Bangle.js 1 is no longer for sale; Espruino points buyers to Bangle.js 2. The models differ in display, processor, water rating and battery, so older-model specifications should not be applied to the current watch.
Rank #4
- 2*Perfect Replacement Cable:This magnetic charging cable is compatible with XIMAND Bone X1 (NOT include the headphones).Alos Universal for Smart Watch, Replacement Charging Cable for 7.62mm 2-Pin Devices.(2pack).
- 【Strong Magnetic Connection】This headphones charger cord adopts strong magnetic , lightweight and Compact design,convenient to carry around, You can connect the charging cable to PC, laptop Chargeror USB port directly.
- 【Safe Charging】This Charging Cable has Voltage Regulator and PTC Inside to protect your Device being damaged by overcurrent when connected to power source. Made of over-voltage and over-current protection, they will protect your headphones from being damaged when charging.
- 【Durable & Premium Quality】Made of high quality thickened wire; ensure the excellent charging experience for your Device. Durable High-quality ABS + PVC Material and Copper Wire ensures Stable Current Transmission, which assures the quality of the charge.
| Feature | Bangle.js 1 | Bangle.js 2 |
|---|---|---|
| Availability | Discontinued | Current successor |
| Display and touch | 240 × 240, 16-bit LCD; two-zone touch | 176 × 176, always-on 3-bit colour LCD; full touchscreen |
| Processor and RAM | nRF52832; 64 kB RAM | nRF52840; 256 kB RAM |
| Water rating | IP68 | IP67; everyday use, not swimming or baths |
| Battery | 350 mAh | 175 mAh |
| Body dimensions | 5 × 5 × 1.7 cm | 36 × 43 × 12 mm |
Model details and availability are listed on the Bangle.js 1 page, the Bangle.js 2 documentation and Espruino’s technical details.
What straps fit Bangle.js 2?
Bangle.js 2 uses standard 20 mm watch straps, so a generic 20 mm replacement band is the straightforward option. Check the product listing for a stated 20 mm lug width and compatible attachment before buying; strap width alone does not confirm that every attachment style will fit.
Where can you buy Bangle.js 2?
Espruino’s product page currently indicates a price “From £83,” with a £71 volume price. These are the page’s price indications, not a guarantee of today’s stock, regional availability or checkout total; verify the current offer at the Espruino shop.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

