Pipsboard (The returnboard thread)

says rejoicing in rbpon 🆚 robipon
says rejoicing in rbpon 🆚 robipon
Member
Sep 2024
366
224
1,235
Read 2 reviews
tags: < rebatedor : prancha placa parede de retorno , reboteador : tablero de devolucion tablon de rebote , returnbrett rückprallbrett rückspielbrett : planche mur de retour , rb : returnboard return rebound board , rb1 : topspinboard , rb2 : PVC antispinboard , rb3 : pipsboard >
7qksmfdt.jpg


In my posts, i use the terms returnboard (not return board) or rb, and rb1 vs rb3 to distinguish between inverted rubbers and pips (pimples). "rbpon, rb1pon, etc" is the activity or a session of training with rb, rb1, etc., in contrast to robi1pon robi2pon, which refers to training with particular ball machines (robis, robots). I do both rbpon and robipon, on separate days; some months i do robipon more often, other months i do rbpon more often. These weeks i've been doing more rbpon, ... ever since i got the depicted rb3. I've got countless hours of experience with robi2pon (not robi1pon) and with rb1pon and now also with rb3pon; i've been enjoying rbpon more than robi2pon tbh (because ... ). There isn't much talk or a single huge thread on rb's / rbpon, and users hardly post reports or photos on them; fair enough, rbpon is a straightfoward training activity like rope skipping or hula hooping, so as long as there aren't questions/problems/shows of interest/followers, why would someone continue to post about the topic, like technical details, photos, footage?

Anyway, i could do exactly that. Because sharing happiness is fun. And because too few technical details on the topic, especially on pipsboards, can be found on the internets. Like Victória Strassburger aka "Vicky Strass", i am a clear proponent of this training device (btw she does robi2pon too).

Feel free to post your experience, reports, photos, opinions, youtubes (of others), footage (of own), thoughts, etc. If there are no questions, i'll continue to post randomly then🙄photos/details of my setups .. whenever i feel like posting about something specific or cute :love:. If you're interested in this topic, doht forget to subscribe to this thread.
 
Last edited:
  • Like
Reactions: TampaBayTableTennis
says rejoicing in rbpon 🆚 robipon
says rejoicing in rbpon 🆚 robipon
Member
Sep 2024
366
224
1,235
Read 2 reviews
(this page last updated 2026-07-12)


rbpon sessions (>1.0h/session, last session 2026-07-06):
2023 Dec(7) [start during 2023 xmas holidays],
2024 Jan(14),
2024 Feb(1) [shoulder injury due to excessive rbpon hehe],
2024 Mar(4),
2024 Apr(7),
2024 May(13),
2024 Jun(6),
2024 Jul(6),
2024 Aug(4),
2024 Sep(7),
2024 Oct(6),
2024 Nov(1),
2024 Dec(0),
2025 Jan(0),
2025 Feb(0),
2025 Mar(0),
2025 Apr(2),
2025 May(3),
2025 Jun(0),
2025 Jul(0),
2025 Aug(2),
2025 Sep(4),
2025 Oct(2),
2025 Nov(6),
2025 Dec(4),
2026 Jan(3),
2026 Feb(4),
2026 Mar(4),
2026 Apr(3),
2026 May(1),
2026 Jun(1),
2026 Jul(2) [... month in progress],


robipon sessions (>1.5h/session, last session 2026-07-07):
2024 Nov(1/9) [start during 2024 black friday holidays: robi1 new],
2024 Dec(9/13),
2025 Jan(5/10),
2025 Feb(2/9) [robi2 new],
2025 Mar(9/19),
2025 Apr(6/18),
2025 May(4/21),
2025 Jun(0/8),
2025 Jul(0/14),
2025 Aug(5/18),
2025 Sep(7/19),
2025 Oct(1/21),
2025 Nov(1/17),
2025 Dec(0/19),
2026 Jan(0/20),
2026 Feb(0/20),
2026 Mar(1/20) [1 cerve receive training session only!],
2026 Apr(0/17),
2026 May(1/11) [robi4 new],
2026 Jun(15/21),
2026 Jul(2/8) [... month in progress],


Explanation/Example: In May 2025, i had table tennis activity on 21 days ("pondays"), each with at least one session. On 4 of these days, robipon was a major part of training (typically 1.5 -3 hours). I usually doht add other ponsessions on robipon days. Within the same 21 pondays, I also had rbpon on 3 days. These may overlap with the robipon days and are not additional days; on those days, rbpon was mostly the only session.


that's basically me :


image last updated 2026-07-01:
Unbenannt.png


Code:
(* ========================= *)
(* 1) rbpon sessions *)
(* ========================= *)

rbpon = <|
     DateObject[{2023, 12}] -> 7,
     DateObject[{2024, 1}] -> 14,
     DateObject[{2024, 2}] -> 1,
     DateObject[{2024, 3}] -> 4,
     DateObject[{2024, 4}] -> 7,
     DateObject[{2024, 5}] -> 13,
     DateObject[{2024, 6}] -> 6,
     DateObject[{2024, 7}] -> 6,
     DateObject[{2024, 8}] -> 4,
     DateObject[{2024, 9}] -> 7,
     DateObject[{2024, 10}] -> 6,
     DateObject[{2024, 11}] -> 1,
     DateObject[{2024, 12}] -> 0,
     DateObject[{2025, 1}] -> 0,
     DateObject[{2025, 2}] -> 0,
     DateObject[{2025, 3}] -> 0,
     DateObject[{2025, 4}] -> 2,
     DateObject[{2025, 5}] -> 3,
     DateObject[{2025, 6}] -> 0,
     DateObject[{2025, 7}] -> 0,
     DateObject[{2025, 8}] -> 2,
     DateObject[{2025, 9}] -> 4,
     DateObject[{2025, 10}] -> 2,
     DateObject[{2025, 11}] -> 6,
     DateObject[{2025, 12}] -> 4,
     DateObject[{2026, 1}] -> 3,
     DateObject[{2026, 2}] -> 4,
     DateObject[{2026, 3}] -> 4,
     DateObject[{2026, 4}] -> 3,
     DateObject[{2026, 5}] -> 1,
     DateObject[{2026, 6}] -> 1,
     DateObject[{2026, 7}] -> 0
   |>;

(* ========================= *)
(* 2) robipon sessions *)
(* ========================= *)

robipon = <|
     DateObject[{2024, 11}] -> 1,
     DateObject[{2024, 12}] -> 9,
     DateObject[{2025, 1}] -> 5,
     DateObject[{2025, 2}] -> 2,
     DateObject[{2025, 3}] -> 9,
     DateObject[{2025, 4}] -> 6,
     DateObject[{2025, 5}] -> 4,
     DateObject[{2025, 6}] -> 0,
     DateObject[{2025, 7}] -> 0,
     DateObject[{2025, 8}] -> 5,
     DateObject[{2025, 9}] -> 7,
     DateObject[{2025, 10}] -> 1,
     DateObject[{2025, 11}] -> 1,
     DateObject[{2025, 12}] -> 0,
     DateObject[{2026, 1}] -> 0,
     DateObject[{2026, 2}] -> 0,
     DateObject[{2026, 3}] -> 1,
     DateObject[{2026, 4}] -> 0,
     DateObject[{2026, 5}] -> 1,
     DateObject[{2026, 6}] -> 15,
     DateObject[{2026, 7}] -> 0
   |>;

(* ========================= *)
(* 3) pondays *)
(* ========================= *)

pondays = <|
     DateObject[{2024, 11}] -> 9,
     DateObject[{2024, 12}] -> 13,
     DateObject[{2025, 1}] -> 10,
     DateObject[{2025, 2}] -> 9,
     DateObject[{2025, 3}] -> 19,
     DateObject[{2025, 4}] -> 18,
     DateObject[{2025, 5}] -> 21,
     DateObject[{2025, 6}] -> 8,
     DateObject[{2025, 7}] -> 14,
     DateObject[{2025, 8}] -> 18,
     DateObject[{2025, 9}] -> 19,
     DateObject[{2025, 10}] -> 21,
     DateObject[{2025, 11}] -> 17,
     DateObject[{2025, 12}] -> 19,
     DateObject[{2026, 1}] -> 20,
     DateObject[{2026, 2}] -> 20,
     DateObject[{2026, 3}] -> 20,
     DateObject[{2026, 4}] -> 17,
     DateObject[{2026, 5}] -> 11,
     DateObject[{2026, 6}] -> 21,
     DateObject[{2026, 7}] -> 0
   |>;

(* ========================= *)
(* 1. Convert Associations \[RightArrow] unified timeline *)
(* ========================= *)

dates = Sort@DeleteDuplicates@Join[
        Keys[rbpon],
        Keys[robipon],
        Keys[pondays]
     ];

rbponVec   = Lookup[rbpon, dates, Missing[]];
robiponVec = Lookup[robipon, dates, Missing[]];
pondaysVec = Lookup[pondays, dates, Missing[]];

(* ========================= *)
(* 2. Clean TimeSeries objects *)
(* ========================= *)

rbponTS = TimeSeries[Transpose[{dates, rbponVec}]];
robiponTS = TimeSeries[Transpose[{dates, robiponVec}]];
pondaysTS = TimeSeries[Transpose[{dates, pondaysVec}]];

(* ========================= *)
(* 3. Pretty combined visualization *)
(* ========================= *)

DateListPlot[
   {
      rbponTS,
      robiponTS,
      pondaysTS
    },
 
   PlotLegends -> Placed[
       {"rbpon", "robipon", "pondays"},
       Right
     ],
 
  PlotStyle -> {
     Directive[Blue, Opacity[0.7], Thick],
     Directive[Red, Opacity[0.7], Thick],
     Directive[Darker@Green, Opacity[0.7], Thick]
   },
  Joined -> True,
  PlotMarkers -> {
     {
        Graphics[{Opacity[0.7], Blue, Disk[]}],
        .025
      },
     {
        Graphics[{Opacity[0.7], Red,
            Polygon[{{0, 1}, {-1, -1}, {1, -1}}]}],
        .029
      },
     {
        Graphics[{Opacity[0.7], Darker@Green,
            Rectangle[{-1, -1}, {1, 1}]}],
        .023
      }
   },
 
   Frame -> True,
   FrameLabel -> {
       "Time",
       "Count"
     },
 
   GridLines -> Automatic,
   PlotTheme -> "Scientific",
   ImageSize -> 1400
 ]
 
Last edited:
Top