SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light
SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light

SOFIRN BS01 2000 Lumens USB-C Rechargeable LED Bike Light

style
Please select a style
Price
$53.99
$33.99
Save  37%
799 sold
Quantity
Free worldwide shipping over $29
Returnable within 30 days
Professional service for everyone
Secure payments

Product manual, click to download!

1. Super Bright: Sofirn BS01 bike front light uses 6000-6500K LEDs, which can provide a maximum output of up to 2000 lumens.

2. USB-C Rechargeable: This bicycle light has a built-in USB-C charging port, powered by 21700 5000mAh battery, which can be charged quickly.

3. Power Bank Function: This bike light can be used as a power bank to charge other devices.

4. Smart Mode: When the BS01 is on, the LED indicator will light up if the light does not detect any movement. The bike light will turn off automatically after 30 seconds of no movement, and turn on again when it detects motion.

5. 6 Modes: BS01 features 6 modes suitable for night riding: Low-Medium-High-Turbo-Strobe-SOS.

Operation Instructions:

1. ON/OFF: Press and hold the switch to turn the light on or off. Note that when turning off the light by holding the switch, the smart mode will also be disabled.

2. Battery level check: Single-click the switch to check the current battery level. The indicator will light up for 5 seconds.

3. Change brightness level: When the light is on, single-click the switch to cycle through Low, Medium, High, and Turbo modes. The selected mode is activated when the switch is released.

4. Direct access to strobe mode: When the light is on or off, quickly double-click the switch to activate Strobe mode. To return to the previously used mode, single-click the switch again.

5. Direct access to smart mode: When the light is on or off, quickly triple-click the switch to activate Smart mode. The light blinks once, and the LED indicator stays on for 3 seconds to signal that you have entered Smart mode. To turn off Smart mode, triple-click the switch again. The light blinks twice to signal that you have turned off Smart mode.

6. Smart mode: When the BS01 is on, the LED indicator will light up if the light does not detect any movement. The bike light will turn off automatically after 30 seconds of no movement, and turn on again when it detects motion.

Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.