Spring Sale Promotion Up to 30% off click here




YSS Shooting Chronograph 30/fps to 7000/fps Lens Memory Airsoft Precision- Master Beta Chronograph Shooting

Powerful memory Hinged steel design Remote control Chronograph sensor Processing information
$95.68
$100.00
Save 4%
people are viewing this right now
Description
Type Chronograph
Function Measures Bullet Velocity
Screen Type LCD display
Battery 9 Volt(not include the battery)
Range 30/fps to 7000/fps
Material 20 Gauge Steel
Channels 60 Shot Memory
Waterproof No
Backlight No
Length (inch) 9.9
Width (inch) 4.9
Height (inch) 3.3
Prescriptions:
1. Unique design. Distinctive in design, its compact hinged steel body (with threads for tripod mounting) folds in on itself and is colour-coded.
2. The FPS range of this product is 30/fps to 7000/fps, and the speed is accurate. The material used is 20-gauge steel, which is more guaranteed in quality and more durable.
3. It fixes the two timer sensors and also installs the sky screen to provide the necessary shade in bright light. Two sets of four poles and six sky screen sections are provided, which can be mounted lower or higher and wider as required.
4. Equipped with a small remote control device/controller. Can be easily viewed and operated from the firing position, and is less likely to be damaged by blasts than a muzzle-facing display
5. With 60 lens memories, each string provides its own statistical data, which is convenient for data analysis.
6. It is mainly used to learn and experience the ability of single-chip microcomputer to process data at high speed, and can measure the flight speed of various projectiles. can provide you with a wealth of other information. More specifically, this information not only helps you measure muzzle velocity, but also significantly increases reload speed.
7. Wide range of applications. It can be used with a variety of firearms, including paintballs, airsoft guns, shotguns, and rifles.
A gun chronograph is an instrument used to measure the velocity of a projectile fired by a gun.
An early chronograph that measures velocity directly was built in 1804 by Grobert, a colonel in the French Army. This used a rapidly rotating axle with two disks mounted on it about 13 feet apart. The bullet was fired parallel to the axle, and the angular displacement of the holes in the two disks, together with the rotational speed of the axle, yielded the bullet velocity.
The modern chronograph consists of two sensing areas called chronograph screens, which contain optical sensors that detect the passage of the bullet. The bullet is fired so it passes through both screens, and the time it takes the bullet to travel the distance between the screens is measured electronically.

Beta Master chronograph

A chronograph is an essential part of my equipment. Over the years I have had quite a few machines so I jumped at the chance to try the new BETA MASTER Beta Master, which takes a lot of the physical and mental leg work out of the job. At an agreeable sub-£140, it is a competent machine that will do everything I require. Incidentally I have owned seven chrono’s over the years - six of which died in spectacular, gun-related accidents; for that read not aiming properly though not all by me. Not sure if that’s a record, the seventh happily passed away from old age.

High and Wide

The BETA MASTER design is distinctive with a compact, hinged, steel body (threaded for a tripod) that folds into itself, which is colour-coded; in this case blue. This holds the two timer sensors and also mounts the sky screens that provide the essential shadow in bright light. Two sets of four rods are provided and six sky screen sections so you can if required mount them low or higher and wider. There’s no integral display screen, but a small remote unit/controller, which offers easy viewing and operation from the firing position, plus there’s less chance of blast damage as with a muzzle-facing display. Power is supplied by a PP9 battery.

The remote unit is the brain and stores data and can connect to a PC for downloading. The memory holds up to 60 shots that can be divided into 10-shot strings if required, this capacity can be upgraded to 1000-shots. In essence each model is an improvement from the one below with extra features added. So what do you get?

• Numbered shot velocities
• Display remains until the next shot
• One string from 2 – 32-shot memory
• Measures high, low and average velocities
• Shows ES (extreme spread) and SD (standard deviation) variations
• Feet and metres per second selection
• Retrieval of individual shot velocities
• Deletes individual shots from memory and automatically adjusts figures
• 60-shot memory 
• Remote can be switched off and removed for information retrieval
• Moves instantly from string to string
• Interrupts shooting on any string without memory loss
• Each string delivers its own statistics

Select product
Selected 0 item(s)
Red
Sold out
Blue
Sold out
function updateQueryStringParameter(uri, key, value) { if(!value) { return uri; } let re = new RegExp('([?&])' + key + '=.*?(&|$)', 'i'); let separator = uri.indexOf('?') !== -1 ? '&' : '?'; return uri.match(re) ? uri.replace(re, '$1' + key + '=' + value + '$2') : uri + separator + key + '=' + value; } function addEventListenerRedirect(data) { if (data.type === 'checkout_redirect_login') { let { pathname, search } = window.location; let order_id = data.order_id || ''; let newSearch = updateQueryStringParameter(search, 'order_id', order_id); let return_Url = `${pathname}${newSearch}`; let redirect_Url = `${data.url}?_returnUrl=${encodeURIComponent(return_Url)}`; return Promise.resolve(redirect_Url) } if (data.type === 'checkout_redirect') { return Promise.resolve(data.url); } if (data.type === 'checkout_reload') { let { pathname } = window.location; return Promise.resolve(pathname); } return Promise.reject({}); } function addEventListenerMask(data) { if (data.type === 'checkout_mask' && data.show_mask) { return Promise.resolve({}); } return Promise.reject({}); } function addEventListenerMaskClose(data) { if (data.type === 'checkout_mask' && !data.show_mask) { return Promise.resolve({}); } return Promise.reject({}); } function handleUpdateCheckout(data) { let message = { type:'theme_variant_list_update' } return Promise.resolve(message); } function addEventListeneFullFixed(data) { if (data.type === 'checkout_full_screen') { return Promise.resolve(data.is_full_screen); } return Promise.reject({}); } function addEventListenerTproduct(data) { if (data.type === 'checkout_kick_items') { return Promise.resolve(data); } return Promise.reject({}); } function handleCheckOrderIdChange(data) { if ((data.data && data.data.order_token) || data.order_id) { let new_order_token = (data.data && data.data.order_token) || data.order_id ; let checkout_iframe_template = document.getElementById('checkout_iframe_template'); let old_oder_token = checkout_iframe_template.getAttribute('data-order-id'); if (!old_oder_token) { checkout_iframe_template.setAttribute('data-order-id', new_order_token); } let isRerenderCheckout = new_order_token == old_oder_token; let obj = { order_id: new_order_token, once: isRerenderCheckout } if (!isRerenderCheckout) { checkout_iframe_template.setAttribute('data-order-id', new_order_token); } return Promise.resolve(obj); } return Promise.reject({}); } function addEventListeneScollToCheckout(data) { if (data.type === 'scroll_to_checkout') { return Promise.resolve(); } return Promise.reject({}); } function handleGetOrderInfo(data) { if (data.order_id) { let api = `/api/checkout/order/info?order_id=${data.order_id}`; return Promise.resolve(api); } return Promise.reject({}); } function handleToggleStickyCheckoutBtn(data) { if (data.type === 'checkout_submit_visible') { return Promise.resolve(!data.visible); } return Promise.reject({}); } function handleSetStickyCheckoutBtnDisabled(data) { if (data.type === 'checkout_submit_disable') { return Promise.resolve(data.disable); } return Promise.reject({}); } function stickyCheckoutBtnPostMessage(data) { let message = { type: 'theme_submit_click' } return Promise.resolve(message); } function handleShowChecktoutToast(data) { if (data.type === 'checkout_toast') { return Promise.resolve(data.message); } return Promise.reject({}); } exportFunction('handleGetOrderInfo', handleGetOrderInfo) exportFunction('handleCheckOrderIdChange', handleCheckOrderIdChange) exportFunction('addEventListenerRedirect', addEventListenerRedirect) exportFunction('addEventListenerMask', addEventListenerMask) exportFunction('addEventListenerMaskClose', addEventListenerMaskClose) exportFunction('handleUpdateCheckout', handleUpdateCheckout) exportFunction('addEventListeneFullFixed', addEventListeneFullFixed) exportFunction('addEventListenerTproduct', addEventListenerTproduct) exportFunction('addEventListeneScollToCheckout', addEventListeneScollToCheckout) exportFunction('handleToggleStickyCheckoutBtn', handleToggleStickyCheckoutBtn) exportFunction('handleSetStickyCheckoutBtnDisabled', handleSetStickyCheckoutBtnDisabled) exportFunction('stickyCheckoutBtnPostMessage', stickyCheckoutBtnPostMessage) exportFunction('handleShowChecktoutToast', handleShowChecktoutToast)
window.addEventListener('message', (e) => { const iframe = document.getElementById("checkout_iframe"); if(iframe && e.data && e.data.type === 'checkout_full_screen'){ if (e.data.is_full_screen) { iframe.setAttribute("scrolling", "auto") } else { iframe.setAttribute("scrolling", "no") }; } }); function handleSetObserver() { let iframeEle = document.getElementById('checkout_iframe'); var observer = new MutationObserver((mutations) => { let is_dom_change = false; mutations.forEach((item) => { if (item.type === 'childList') { is_dom_change = true; } }); const scrollHeight = iframeEle.contentWindow.document.body.scrollHeight; if (is_dom_change) { iframeEle.style.height = `${scrollHeight ? scrollHeight : 1400 }px`; } }); const options = { "childList" : true, "attributes" : false, "characterData" : false, "subtree" : true, "attributeOldValue" : false, "characterDataOldValue" : false }; iframeEle.contentWindow.addEventListener('DOMContentLoaded', function(e) { try { if (iframeEle.contentWindow.document.readyState === "interactive") { observer.observe(iframeEle.contentWindow.document, options); const iframe = document.getElementById("checkout_iframe"); iframe.addEventListener("load", function(e) { if (iframe.contentWindow.location.href.indexOf('thank_you') > -1) { window.location.href = iframe.contentWindow.location.href; } }); } } catch (err) {} }); } function handleAddListenerCheckoutIframe() { let checkout_iframe_render_elem = document.getElementById('checkout_iframe_render_1634493037563'); checkout_iframe_render_elem.addEventListener('spz:dom-update', (e) => { handleSetObserver(); }) } handleAddListenerCheckoutIframe();
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1711673738628').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);