{"product_id":"pp-smart-pro-pickleball-machine-portable-100-ball-launcher-with-app-remote-10-modes-20-70-mph","title":"PP-Smart Pro Pickleball Machine - Portable 100+ Ball Launcher with App \u0026 Remote, 10 Modes, 20-70 mph","description":"\u003cul\u003e  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 【🎯 Multi Training Modes \u0026amp; Programmable Drills】: The PP-Smart Pro offers a full range of training options—fixed-point shots, horizontal \u0026amp; vertical two-line drills, volleys, smashes, random play, and fully programmable practice. With up to 28 custom landing points and 6 adjustable speed drills, it recreates real match conditions and challenges every area of your game, helping players steadily build consistency, accuracy, and confidence.  \u003c\/span\u003e\u003c\/li\u003e  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 【📱 Triple Control System】: Stay in full control with three smart options—mobile App (iOS \u0026amp; Android), handheld remote, and Apple Watch via the App. Easily adjust ball speed, spin, frequency, and drills in real time, without walking back to the machine. Whether for solo practice, group training, or match preparation, you can fine-tune every session instantly for a smoother and more efficient workout.  \u003c\/span\u003e\u003c\/li\u003e  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 【🔋 Long-Lasting Battery Power】: The PP-Smart Pro is equipped with a high-capacity 25.6V 6AH lithium battery, providing an impressive 5–7 hours of continuous play on a single charge. Whether you’re running intensive solo drills, training with a partner, or coaching a group session, this extended battery life ensures uninterrupted practice without frequent recharging. Spend more time mastering your shots and less time worrying about power—perfect for long training days at the court.  \u003c\/span\u003e\u003c\/li\u003e  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 【⚡ Adjustable Speed, Spin \u0026amp; Frequency】: Fine-tune your drills with precision—set ball frequency between 1–10 levels (1.6–6s\/ball), ball speed from 20–70 mph, and spin from -6 (underspin) to +6 (topspin). This wide range of customization makes it perfect for intermediate and advanced players looking to sharpen every aspect of their game.  \u003c\/span\u003e\u003c\/li\u003e  \u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 【🧳 Portable \u0026amp; Large Capacity】: Weighing just 33.1 lbs and measuring 12.8 × 17.7 × 16.9 in, this compact machine is easy to carry, store, and even load into a car for on-the-go training. Despite its lightweight build, it holds 100+ balls, allowing for extended, uninterrupted practice without frequent refills. Durable and versatile, it’s perfect for home workouts, private coaching, or intensive club sessions.  \u003c\/span\u003e\u003c\/li\u003e  \u003c\/ul\u003e\u003cbr\u003e\u003cstyle type=\"text\/css\"\u003e\n    \/*\n     * Used when device = desktop\n     * Configured in: configuration\/brazil-config\/global\/brand-story.cfg\n     *\/\n\n    \/* Because the carousel is implemented as an ol list,\n       any lists in the card text will have a secondary list style (letters).\n       This will give an incorrect appearance to viewers,\n       so we set all lists to the primary list style (numbers). *\/\n    .aplus-brand-story-card ol li {\n        list-style: decimal;\n    }\n\n    \/* Top level containers *\/\n    .aplus-module .apm-brand-story-hero {\n      -moz-box-sizing: border-box;\n      -webkit-box-sizing: border-box;\n      box-sizing: border-box;\n      width: 1464px;\n      height: 625px;\n      background-color: #fff;\n    }\n\n    .aplus-module .apm-brand-story-card {\n      -moz-box-sizing: border-box;\n      -webkit-box-sizing: border-box;\n      box-sizing: border-box;\n      width: 362px;\n      height: 453px;\n      background-color: #fff;\n    }\n\n    .apm-brand-story-hero,\n    .apm-brand-story-card {\n      -moz-box-sizing: border-box;\n      -webkit-box-sizing: border-box;\n      box-sizing: border-box;\n      position: relative;\n      width: 100%;\n      height: 100%;\n      float: none;\n    }\n\n    .aplus-module.brand-story-card-1-four-asin .apm-brand-story-card {\n      \/* Only 12px to account for image cell border *\/\n      padding: 12px;\n    }\n\n    \/* Full background image (Hero 1 \u0026 Card 2) *\/\n    .aplus-module .apm-brand-story-background-image {\n      -moz-box-sizing: border-box;\n      -webkit-box-sizing: border-box;\n      box-sizing: border-box;\n      overflow: hidden;\n      position: absolute;\n      width: 100%;\n      height: 100%;\n    }\n\n    .aplus-module .apm-brand-story-background-image img {\n      display: block;\n      width: 100%;\n      height: 100%;\n      object-fit: cover;\n    }\n\n    \/* Card 1 small images *\/\n    .aplus-module .apm-brand-story-image-grid {\n      -moz-box-sizing: border-box;\n      -webkit-box-sizing: border-box;\n      box-sizing: border-box;\n      padding: 0px;\n      margin: auto;\n      display: flex;\n      flex-flow: row wrap;\n    }\n\n    .aplus-module .apm-brand-story-image-grid .apm-brand-story-image-grid-item {\n      \/* Use content-box to ensure image size matches editor schema *\/\n      -moz-box-sizing: content-box;\n      -webkit-box-sizing: content-box;\n      box-sizing: content-box;\n      padding: 0px;\n      margin: 2px;\n      width: 162px;\n      height: 185px;\n      border: 1px solid #fff;\n    }\n\n    .aplus-module .apm-brand-story-image-grid .apm-brand-story-image-grid-item .apm-brand-story-image-link {\n      display: block;\n      width: 100%;\n      height: 100%;\n      padding: 2px;\n    }\n\n    .aplus-module .apm-brand-story-image-grid .apm-brand-story-image-grid-item .apm-brand-story-image-link .apm-brand-story-image-img {\n      display: block;\n      width: 100%;\n      height: 100%;\n      object-fit: cover;\n    }\n\n    \/* Card 3 logo image *\/\n    .aplus-module .apm-brand-story-logo-image {\n        -moz-box-sizing: content-box;\n        -webkit-box-sizing: content-box;\n        box-sizing: content-box;\n        height: 145px;\n        margin: 0px 4px;\n        padding: 20px;\n        padding-bottom: 0px;\n    }\n\n    \/* Text overlays *\/\n    .aplus-module .apm-brand-story-text-bottom {\n      -moz-box-sizing: border-box;\n      -webkit-box-sizing: border-box;\n      box-sizing: border-box;\n      position: absolute;\n      bottom: 13px;\n      left: 13px;\n    }\n\n    .aplus-module .apm-brand-story-hero .apm-brand-story-text-bottom {\n        background-color: rgba(0,0,0,0.6);\n        color: #fff;\n        padding: 13px 65px 13px 13px; \/* accounts for overlap of first card *\/\n        width: 437px;\n    }\n\n    .aplus-module.brand-story-card-2-media-asset .apm-brand-story-text-bottom {\n        background-color: rgba(255,255,255,0.6);\n        color: #000;\n        padding: 13px;\n        width: 336px;\n    }\n\n    .aplus-module.brand-story-card-1-four-asin .apm-brand-story-text {\n        margin-top: 8px;\n        padding-left: 2px;\n        padding-right: 2px;\n    }\n\n    .aplus-module.brand-story-card-1-four-asin .apm-brand-story-text.apm-brand-story-text-single {\n        margin-top: 20px;\n    }\n\n    .aplus-module.brand-story-card-1-four-asin .apm-brand-story-text h3 {\n        white-space: nowrap;\n        overflow: hidden;\n        text-overflow: ellipsis;\n    }\n\n    .aplus-module .apm-brand-story-slogan-text {\n        -moz-box-sizing: content-box;\n        -webkit-box-sizing: content-box;\n        box-sizing: content-box;\n        margin: 0px 4px;\n        padding: 20px;\n    }\n\n    .aplus-module .apm-brand-story-faq {\n        -moz-box-sizing: content-box;\n        -webkit-box-sizing: content-box;\n        box-sizing: content-box;\n        padding-top: 10px;\n    }\n\n    .aplus-module .apm-brand-story-faq-block {\n        margin: 0px 10px;\n        padding: 10px;\n    }\n\u003c\/style\u003e\n    \u003cdiv class=\"aplus-content-wrapper\"\u003e\n                                                        \u003cstyle\u003e\n    .aplus-v2 .apm-brand-story-carousel-container {\n        position: relative;\n    }\n\n    .aplus-v2 .apm-brand-story-carousel-hero-container,\n    .aplus-v2 .apm-brand-story-carousel-hero-container \u003e div {\n        position: absolute;\n        width: 100%;\n    }\n\u003c\/style\u003e\n\n    \u003cstyle\u003e\n        \/*\n          Ensuring the carousel takes only the space it needs.\n          The sizes need to be set again on the absolutely positioned elements so they can take up space.\n        *\/\n        .aplus-v2 .apm-brand-story-carousel-container,\n        .aplus-v2 .apm-brand-story-carousel-hero-container {\n            height: 625px;\n            width: 100%;\n            max-width: 1464px;\n            margin-left: auto;\n            margin-right: auto;\n            overflow: hidden;\n        }\n\n        .aplus-v2 .apm-brand-story-carousel-hero-container,\n        .aplus-v2 .apm-brand-story-carousel-hero-container \u003e div {\n            height: 625px;\n        }\n    \u003c\/style\u003e\n   \u003cstyle\u003e\n        .aplus-v2 .apm-brand-story-carousel.a-carousel-container {\n            padding: 0px;\n        }\n\n        \/*\n          This centers the carousel vertically on top of the hero image container and after the logo area (125px).\n          Margin-top = (heroHeight - cardHeight - logoAreaHeight) \/ 2 + logoAreaHeight\n        *\/\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-row-inner {\n            margin-top: 149px;\n        }\n\n        \/*\n          Cards need to have a width set, otherwise they default to 50px or so.\n          All cards must have the same width. The carousel will resize itself so all cards take the width of the largest card.\n          The left margin is for leaving a space between each card.\n        *\/\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-card {\n            width: 362px;\n            margin-left: 30px !important;\n        }\n\n        \/* styling the navigation buttons so they are taller, flush with the sides, and have a clean white background *\/\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-left,\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-right {\n            padding: 0px;\n        }\n\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-left .a-button-image,\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-right .a-button-image {\n            border: none;\n            margin: 0px;\n        }\n\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-left .a-button-image .a-button-inner,\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-right .a-button-image .a-button-inner {\n            background: #fff;\n            padding: 20px 6px;\n        }\n\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-left .a-button-image .a-button-inner {\n            border-radius: 0px 4px 4px 0px;\n        }\n\n        .aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-right .a-button-image .a-button-inner {\n            border-radius: 4px 0px 0px 4px;\n        }\n    \u003c\/style\u003e\n  \u003cdiv\u003e\n        \u003cdiv class=\"apm-brand-story-carousel-container\"\u003e\n                 \u003cdiv class=\"apm-brand-story-carousel-hero-container\"\u003e\n                             \u003cdiv class=\"celwidget aplus-module brand-story-hero-1-image-logo aplus-brand-story-hero\" cel_widget_id=\"aplus-brand-story-hero-1-image-logo\" data-csa-c-id=\"t4t70u-u8n931-a419df-2buidb\" data-cel-widget=\"aplus-brand-story-hero-1-image-logo\"\u003e\n             \u003cdiv class=\"apm-brand-story-hero\"\u003e\n    \u003cdiv class=\"apm-brand-story-background-image\"\u003e\n                                              \u003cimg alt=\"\" src=\"https:\/\/images-na.ssl-images-amazon.com\/images\/G\/01\/x-locale\/common\/grey-pixel.gif\" class=\"a-lazy-loaded\" data-src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/9b8cd731-bd43-497b-9d03-490a6a15f96c.__CR0,0,1464,625_PT0_SX1464_V1___.png\"\u003e\u003cnoscript\u003e\u003cimg alt=\"\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/9b8cd731-bd43-497b-9d03-490a6a15f96c.__CR0,0,1464,625_PT0_SX1464_V1___.png\"\u003e\u003c\/noscript\u003e  \u003c\/div\u003e\n\n     \u003cdiv class=\"apm-brand-story-text-bottom\"\u003e\n                                                    \u003ch3\u003e PUSUN \u003c\/h3\u003e                                      \u003cp\u003e PUSUN builds smart, reliable tennis and pickleball machines that simplify training, boost performance, and inspire players worldwide. \u003c\/p\u003e    \u003c\/div\u003e\n     \u003c\/div\u003e\n\u003cdiv style=\"clear:both\"\u003e\u003c\/div\u003e\n   \u003c\/div\u003e\n           \u003c\/div\u003e\n\n                    \u003cdiv id=\"apm-brand-story-carousel\" data-a-carousel-options='{\"minimum_gutter_width\":10,\"show_partial_next\":true,\"name\":\"brand-story-carousel\",\"single_page_align\":\"left\",\"circular\":false}' aria-label=\"Featured content carousel\" aria-roledescription=\"carousel\" role=\"region\" class=\"a-begin a-carousel-container a-carousel-display-stretchyGoodness a-carousel-transition-slide apm-brand-story-carousel size-cards a-carousel-container\"\u003e\n\u003cinput autocomplete=\"on\" type=\"hidden\" class=\"a-carousel-firstvisibleitem\"\u003e \u003cdiv class=\"a-row a-carousel-controls a-carousel-row a-carousel-has-buttons\"\u003e\u003cdiv class=\"a-carousel-row-inner\"\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-left\"\u003ePrevious page\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\u003cdiv class=\"a-carousel-viewport\" aria-roledescription=\"slide\"\u003e\u003col class=\"a-carousel\" role=\"list\"\u003e  \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card apm-brand-story-carousel-card-0\"\u003e   \u003c\/li\u003e      \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card apm-brand-story-carousel-card-1\"\u003e           \u003cdiv class=\"celwidget aplus-module brand-story-card-1-four-asin aplus-brand-story-card\" cel_widget_id=\"aplus-brand-story-card-1-four-asin\" data-csa-c-id=\"oeko2f-hiads2-qoc5mb-3vaaox\" data-cel-widget=\"aplus-brand-story-card-1-four-asin\"\u003e\n                  \u003cdiv class=\"apm-brand-story-card\"\u003e\n    \u003cdiv class=\"apm-brand-story-image-grid\" role=\"list\"\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                                                       \u003cimg alt=\"4\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/8a9f4245-3adc-4fc9-a70c-315de79a39c5.__CR76,0,1347,1477_PT0_SX166_V1___.jpg\"\u003e   \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                                                       \u003cimg alt=\"5\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/ed208c3d-b02b-4a8a-8669-7475c7c7dd53.__CR76,0,1348,1478_PT0_SX166_V1___.jpg\"\u003e   \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                                                       \u003cimg alt=\"1\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/245d5c9c-9559-4d76-b501-0c913eebe30e.__CR88,0,1824,2000_PT0_SX166_V1___.png\"\u003e   \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                                                       \u003cimg alt=\"2\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/cf12cee8-dfa0-4fb3-9363-5be95caa3e97.__CR88,0,1824,2000_PT0_SX166_V1___.png\"\u003e   \u003c\/div\u003e\n         \u003c\/div\u003e\n\n      \u003cdiv class=\"apm-brand-story-text apm-brand-story-text-single\"\u003e\n                                                     \u003ch3\u003e Pickleball machines \u003c\/h3\u003e      \u003c\/div\u003e\n     \u003c\/div\u003e\n\u003cdiv style=\"clear:both\"\u003e\u003c\/div\u003e\n   \u003c\/div\u003e\n \u003c\/li\u003e    \u003cli aria-roledescription=\"slide\" class=\"a-carousel-card apm-brand-story-carousel-card-2\"\u003e           \u003cdiv class=\"celwidget aplus-module brand-story-card-1-four-asin aplus-brand-story-card\" cel_widget_id=\"aplus-brand-story-card-1-four-asin\" data-csa-c-id=\"5obeo4-yn3vku-7vw5xe-d86nnw\" data-cel-widget=\"aplus-brand-story-card-1-four-asin\"\u003e\n                  \u003cdiv class=\"apm-brand-story-card\"\u003e\n    \u003cdiv class=\"apm-brand-story-image-grid\" role=\"list\"\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                                                       \u003cimg alt=\"Black automatic tennis ball launcher with 'MAX' branding. Features green accents, ball feeder on top, and launch opening. 'PUSH' button visible for operation.\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/f65eeb8b-a468-4acd-977f-07bc30340f7a.__CR39,0,413,453_PT0_SX166_V1___.jpg\"\u003e   \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                                                       \u003cimg alt=\"Black tennis ball machine with wheels, loaded with green tennis balls. Features a hopper on top and a ball ejection port in front, branded as 'PUSN'.\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/7ca6136f-16ad-43ef-9076-1004cd41abb0.__CR88,0,1824,2000_PT0_SX166_V1___.jpg\"\u003e   \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                                                       \u003cimg alt=\"Black tennis ball machine with wheels, filled with bright green tennis balls. Large hopper on top, compact base with 'SMART PRO' text visible on side.\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/7f6fd46f-579a-4eb2-a3bb-4ad85b1c1684.__CR610,0,2640,2894_PT0_SX166_V1___.png\"\u003e   \u003c\/div\u003e\n         \u003cdiv class=\"apm-brand-story-image-grid-item\" role=\"listitem\"\u003e\n                                                       \u003cimg alt=\"1\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/dc47d8c6-efe4-4930-a68e-cf961a48ed7e.__CR44,0,912,1000_PT0_SX166_V1___.png\"\u003e   \u003c\/div\u003e\n         \u003c\/div\u003e\n\n      \u003cdiv class=\"apm-brand-story-text apm-brand-story-text-single\"\u003e\n                                                     \u003ch3\u003e Tennis ball machines \u003c\/h3\u003e      \u003c\/div\u003e\n     \u003c\/div\u003e\n\u003cdiv style=\"clear:both\"\u003e\u003c\/div\u003e\n   \u003c\/div\u003e\n \u003c\/li\u003e   \u003c\/ol\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-right\"\u003eNext page\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e \u003cspan class=\"a-end aok-hidden\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e \u003c\/div\u003e\n        \u003cdiv class=\"aplus-brandstory-pagination\"\u003e\n             \u003c\/div\u003e\n    \u003c\/div\u003e\n       \u003c\/div\u003e","brand":"Purrosa","offers":[{"title":"Default Title","offer_id":47958972629251,"sku":null,"price":2586.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0793\/3031\/2451\/files\/61Tz6LtwRrL._AC_SL1500.jpg?v=1776695160","url":"https:\/\/purrosa.com\/products\/pp-smart-pro-pickleball-machine-portable-100-ball-launcher-with-app-remote-10-modes-20-70-mph","provider":"Purrosa","version":"1.0","type":"link"}