Pongbot Nova S Pro owners' review and discussion thread

says rejoicing in rbpon 🆚 robipon
says rejoicing in rbpon 🆚 robipon
Member
Sep 2024
355
210
1,193
Read 2 reviews
did they ditch the stats?
Open the android app ->
"Mine" ->
"My Account" ->
"Training Records" ->
"Thursday Oct 2, # of Practiced Drills 41, Total Ball Hits 1.5K" ->
"Record Details: Thursday Oct 2" (all 41 drills and their start day time⌚ are listed)


Here some additional points off the top of my head (i am too lazy to update the respective posts within this thread accordingly haha):
  • @pongbotstore i hate the artificial limitation (restriction) to five(5) unique balls for a drill 🤬. hate it. robi1 has a limitation of some 8 balls or so, caht remember, so every robi does have a limitation but it makes more sense with robi1 than with robi2 because the latter has only a primitive implementation of randomness. A good practical example would be the 2-ball drills of the edited/modified Combined Drills, say c01, which is Loop(b)-Drive(b). Since robi2 has, unlike robi1, only primitive randomization/variation, we must introduce it by adding another 2-ball sequence within the identical drill. Thus we have Loop(b)-Drive(b)-Loop(b)*-Drive(b)* as expanded c01, using up 4 (out of 5 max possible) unique balls. As the owner understands, we cannot start this drill with "Sequence: Random" 👎. So we start c01 with "Sequence: Sequential" 👍; as a result, we're getting a predictable back and forth between seq1:[Loop(b)-Drive(b)] and seq2:[Loop(b)*-Drive(b)*], which is imho okay yet borderline lame 🫤. It would be better if we could group the balls from the 5 max possible balls, and then the "Sequence: Random"-function on the drill c01 could produce this (if implemented correctly):

    seq2 - seq2 - seq1 - seq2 - seq1 - seq1 - seq1 - seq2 -seq2 - seq1 - seq2 - seq1 - seq1 - seq2 - etc.

    Such a drill would give us a variation of two(2), plus the element of randomness between the two.
    It'd be better to have a variaton of three(3), plus the element of randomness between the three:

    seq2 - seq1 - seq1 - seq3 - seq1 - seq2 - seq2 - seq3 -seq2 - seq3 - seq1 - seq3 - seq2 - seq1 - etc.

    But obviously, we'd need 6 max possible unique balls for such a drill (3 × 2 = 6 🧮); 5 is not enough!

  • @pongbotstore i also hate that there is no real pause between the runs of a drill, or between the seq's of a drill. taking the above identical example:
    seq2 - seq1 - seq1 - seq3 - seq1 - seq2 - seq2 - seq3 -seq2 - seq3 - seq1 - seq3 - seq2 - seq1 - etc.
    The " - " should be a user-editable meaningful pause, measured in seconds.

  • there's a bug in the current app version V1.0.10. Most of the times a 1min-drill would end neatly (timer's up ⌛, the drill resets and can be restarted), however maybe 1 out of 7 times, the same 1min-drill would end (timer's up ⌛) but with the drill not resetting: the user is stuck at the timer's end screen, and eventually has to close and restart the Pongbot app. Since such a hang-up never occurred with previous app versions, this has to be a newly introduced bug.
Yeah sorry for so much hate 🤷‍♂️, but maybe i am alone in this. If i am the only owner, suffering from the lack of meaningful pauses and the 5-balls limitation, then the compani doesn't need to care. One plunder bitching around woht hurt the nova's overall global sales! 🤑
 
Last edited:
This user has no status.
This user has no status.
Member
Oct 2025
14
30
61
Hi all NovaProS users!
Thank you, @plunder for your comprehensive work on the Pongbot Nova S pro. I enjoyed your posts very much.

Since I was curious I analyzed the bluetooth protocol used by the pongbot app and I think I found some interesting stuff: the communication itself is not encrypted. There is only a slight pseudo-password (time-based) on connection.

The protocol itself is quite simple: a drill consists of a sequence of up to 9 balls, each ball needs
  1. the speed of the upper wheel (app. 500-7200 rpm)
  2. the speed of the lower wheel
  3. the ball height
  4. the drop point
  5. the frequency
  6. the number of repetitions
With 10 or more balls the robi returns an error code. The nice thing is: changing the ball height within the drill is possible! Have a look at a small demonstration of a two-ball drill: maximum underspin with ball height -50 followed by maximum topspin with ball height 100. The video url is

The prototype app to control the bot without the official app runs in Chrome only, tested on desktop and Android: https://smee.github.io/nova-s-custom-drills/index.html

There is no real documentation. If you want to know more details about the protocol, have a look at the script.js in the link above.

The next steps might be adding functions like:
 
This user has no status.
This user has no status.
New Member
Aug 2025
1
0
4
Hi all NovaProS users!
Thank you, @plunder for your comprehensive work on the Pongbot Nova S pro. I enjoyed your posts very much.

Since I was curious I analyzed the bluetooth protocol used by the pongbot app and I think I found some interesting stuff: the communication itself is not encrypted. There is only a slight pseudo-password (time-based) on connection.

The protocol itself is quite simple: a drill consists of a sequence of up to 9 balls, each ball needs
  1. the speed of the upper wheel (app. 500-7200 rpm)
  2. the speed of the lower wheel
  3. the ball height
  4. the drop point
  5. the frequency
  6. the number of repetitions
With 10 or more balls the robi returns an error code. The nice thing is: changing the ball height within the drill is possible! Have a look at a small demonstration of a two-ball drill: maximum underspin with ball height -50 followed by maximum topspin with ball height 100. The video url is

The prototype app to control the bot without the official app runs in Chrome only, tested on desktop and Android: https://smee.github.io/nova-s-custom-drills/index.html

There is no real documentation. If you want to know more details about the protocol, have a look at the script.js in the link above.

The next steps might be adding functions like:
So this means that now everybody can change the drill’s parameters following your GitHub link? Or how to do it? Thanks!!
 
says rejoicing in rbpon 🆚 robipon
says rejoicing in rbpon 🆚 robipon
Member
Sep 2024
355
210
1,193
Read 2 reviews
@mallimacijm and @smee0815 , congrats to your very first posts, welcome on the forum! 💐

Phuntastique hacking of the bluetooth protocol, excellent job! It proves that the compani has been dumbing down the Nova on purpose, so that shoppers would have a real reason to go for the Omni.

Yes, a detailed instruction guide would be helpful, step-by-step, starting with:
1) turn on the Nova
2) on your smartphone, turn on bluetooth signal, turn on mobile internet (or WiFi) signal
3) launch Chrome browser on your smartphone, and surf to the index.html webpage (URL)
4) ... etc
 
  • Like
Reactions: mallimacijm
This user has no status.
This user has no status.
Member
Oct 2025
14
30
61
1760558312791.png

I added some instructions to the web page. You will need to enable bluetooth, mobile data or Wifi is not necessary for the communication with the Nova bot.

Random sequence does not work yet, I need to investigate, probably next week or so.

Saving drills is not yet supported, you will have to copy any changed drill definitions from the text area to a local text file on your phone/computer.

Also, I changed the initial drill definition to something more useful:
  1. short serve with under spin
  2. long under sping to FH
  3. increasingly higher, slow top spin balls to FH
  4. high and slow top spin to the middle of the table to allow the player to smash
I'm not yet sure how to allow configuration of more complex sequences of balls. Something like specifying longer sequences, allow ranges of values (like "change drop point randomly within 3-7"), or maybe name balls to refer to names instead of listing each ball's configuration explicitely?

Also, storing and loading drills is not yet implemented. I would like to avoid needing any backend server, so probably I will implement some way of sharing drills via link (that includes the drill definition from the text area).

What would you like to see?
 
This user has no status.
View attachment 38532
I added some instructions to the web page. You will need to enable bluetooth, mobile data or Wifi is not necessary for the communication with the Nova bot.

Random sequence does not work yet, I need to investigate, probably next week or so.

Saving drills is not yet supported, you will have to copy any changed drill definitions from the text area to a local text file on your phone/computer.

Also, I changed the initial drill definition to something more useful:
  1. short serve with under spin
  2. long under sping to FH
  3. increasingly higher, slow top spin balls to FH
  4. high and slow top spin to the middle of the table to allow the player to smash
I'm not yet sure how to allow configuration of more complex sequences of balls. Something like specifying longer sequences, allow ranges of values (like "change drop point randomly within 3-7"), or maybe name balls to refer to names instead of listing each ball's configuration explicitely?

Also, storing and loading drills is not yet implemented. I would like to avoid needing any backend server, so probably I will implement some way of sharing drills via link (that includes the drill definition from the text area).

What would you like to see?
wow this is pretty cool! would this work on omni S pro?

If you could refine the random feature i would definitely be interested.

Something like this would be incredible:

ball 1: short underspin to forehand
ball 2: random top spin to EITHER forehand or backhand
Repeat
 
says rejoicing in rbpon 🆚 robipon
says rejoicing in rbpon 🆚 robipon
Member
Sep 2024
355
210
1,193
Read 2 reviews
@smee0815 i get "Could not start drill: Uint8Array.fromHex is not a function"-error dialogue in the Chrome-browser of my Android8 phone. With the Chrome-browser of my robi1's Android11 tablet, everything works well, amazing, i'm speechless! :love:

Maybe we should create a systematic table or database which lists the sextuples (6-tuples) of all relevant shots and cerves which the Nova can produce from pos8, and number'n title them, plus a short description. With such a table, the user could quickly pick (copy paste) the 6-tuples which he wants to add to a drill with up to 9 underspin/topspin shots. For example, from pos8, the Nova will be able to produce only a small range of relevant cerves with the topspin/underspin head.
Point being, it takes countless hours to find ball settings which produce good interesting balls, which is due to the 2 wheels limitation of the robot, as summarized in my review.

Anyway, this stuff is really exciting! Huge thanks and congratulation to the feat!! 💪
 
Last edited:
  • Like
Reactions: smee0815
This user has no status.
This user has no status.
🏆 Top 1% Commenter
Well-Known Member
May 2011
2,432
2,906
6,938
Hi all NovaProS users!
Thank you, @plunder for your comprehensive work on the Pongbot Nova S pro. I enjoyed your posts very much.

Since I was curious I analyzed the bluetooth protocol used by the pongbot app and I think I found some interesting stuff: the communication itself is not encrypted. There is only a slight pseudo-password (time-based) on connection.

The protocol itself is quite simple: a drill consists of a sequence of up to 9 balls, each ball needs
  1. the speed of the upper wheel (app. 500-7200 rpm)
  2. the speed of the lower wheel
  3. the ball height
  4. the drop point
  5. the frequency
  6. the number of repetitions
With 10 or more balls the robi returns an error code. The nice thing is: changing the ball height within the drill is possible! Have a look at a small demonstration of a two-ball drill: maximum underspin with ball height -50 followed by maximum topspin with ball height 100. The video url is

The prototype app to control the bot without the official app runs in Chrome only, tested on desktop and Android: https://smee.github.io/nova-s-custom-drills/index.html

There is no real documentation. If you want to know more details about the protocol, have a look at the script.js in the link above.

The next steps might be adding functions like:
Ooo, awesome! Can you tell me how you went about doing this? Some tips on how to get started would hopefully be sufficient, might be able to figure out the rest myself. I'd like to do the same for my Halo robot too!
 
This user has no status.
This user has no status.
Member
Oct 2025
14
30
61
Ooo, awesome! Can you tell me how you went about doing this? Some tips on how to get started would hopefully be sufficient, might be able to figure out the rest myself. I'd like to do the same for my Halo robot too!
There were two main parts to this:
  1. reverse engineer the source code of the pongbot app via Blutter (it is a Dart app, so the resulting decompilation will be ARM assembler code with some dart specific comments). I mainly used this to confirm theories I developed using step 2, as well as the initial handshake of the bluetooth connection
  2. Use the "Bluetooth Snoop" developer functionality in Android to record the acutally transmitted bluetooth messages. I wrote down the timestamp and configuration of drills/actions I used in the pongbot app on paper, then used that as a reference when analyzing the messages in Wireshark.
Using those steps and a few hours of cross-eye examination of hex messages patterns emerged, that I then tested using the prototype I open sourced on github.

For other pongbot models, I suppose the handshake should be the same, it was not specific for the Nova S pro. The drill configuration might be different, if other models have more than two wheels?
 
This user has no status.
This user has no status.
Member
Oct 2025
14
30
61
@smee0815 i get "Could not start drill: Uint8Array.fromHex is not a function"-error dialogue in the Chrome-browser of my Android8 phone. With the Chrome-browser of my robi1's Android11 tablet, everything works well, amazing, i'm speechless! :love:

Maybe we should create a systematic table or database which lists the sextuples (6-tuples) of all relevant shots and cerves which the Nova can produce from pos8, and number'n title them, plus a short description. With such a table, the user could quickly pick (copy paste) the 6-tuples which he wants to add to a drill with up to 9 underspin/topspin shots. For example, from pos8, the Nova will be able to produce only a small range of relevant cerves with the topspin/underspin head.
Point being, it takes countless hours to find ball settings which produce good interesting balls, which is due to the 2 wheels limitation of the robot, as summarized in my review.

Anyway, this stuff is really exciting! Huge thanks and congratulation to the feat!! 💪
Regarding the error message:
The error makes sense for this older version of android. I'm afraid, since the code is just a prototype, I won't be able to provide support for all devices. If your tablet works, I hope that is enough?

Regarding the ball settings:
It is possible to record the drill messages the bot sends via the original app and extract the exact configurations used. I'm not sure, if/when I will be able to do that. I hope, that the same configuration will be used in different drills (maybe always the same speeds for the wheels for "Drive (f)", "Push (b)","loop (f/b)" etc. We will see.
 
  • Like
Reactions: plunder
This user has no status.
This user has no status.
🏆 Top 1% Commenter
Well-Known Member
May 2011
2,432
2,906
6,938
There were two main parts to this:
  1. reverse engineer the source code of the pongbot app via Blutter (it is a Dart app, so the resulting decompilation will be ARM assembler code with some dart specific comments). I mainly used this to confirm theories I developed using step 2, as well as the initial handshake of the bluetooth connection
  2. Use the "Bluetooth Snoop" developer functionality in Android to record the acutally transmitted bluetooth messages. I wrote down the timestamp and configuration of drills/actions I used in the pongbot app on paper, then used that as a reference when analyzing the messages in Wireshark.
Using those steps and a few hours of cross-eye examination of hex messages patterns emerged, that I then tested using the prototype I open sourced on github.

For other pongbot models, I suppose the handshake should be the same, it was not specific for the Nova S pro. The drill configuration might be different, if other models have more than two wheels?
I think they all have two wheels. I'm interested in trying to create my own app. There are a lot of functions IMO the pongbot app is missing. I also wonder if it's possible to control 2 devices at once, thus allowing you to create a drill with 2 robots at once?
 
This user has no status.
This user has no status.
Member
Oct 2025
14
30
61
I think they all have two wheels. I'm interested in trying to create my own app. There are a lot of functions IMO the pongbot app is missing. I also wonder if it's possible to control 2 devices at once, thus allowing you to create a drill with 2 robots at once
This depends on whether or not Chrome allows more than one connection at a time. I don't see, why not, worth a try if you have access to more than one bot. From a players perspective, synchronizing the balls from both bots might be an issue: the only mechanism available would by synchronizing the time of sending the drill, but the sequences will be getting out of phase sooner or later.
 
  • Like
Reactions: dingyibvs
This user has no status.
This user has no status.
🏆 Top 1% Commenter
Well-Known Member
May 2011
2,432
2,906
6,938
This depends on whether or not Chrome allows more than one connection at a time. I don't see, why not, worth a try if you have access to more than one bot. From a players perspective, synchronizing the balls from both bots might be an issue: the only mechanism available would by synchronizing the time of sending the drill, but the sequences will be getting out of phase sooner or later.
I just got the Nova as well for short game and service training in addition to my Halo. The synchronization issue can possibly be bypassed by cutting a single drill into multiple shorter drills, thus resetting the sync every few balls.
 
This user has no status.
This user has no status.
Member
Oct 2025
14
30
61
Hi everyone!

I put up a new version of the custom novabot client. It has a number of new features:
  1. unlimited balls per drill: you can add as many balls as you like. Internally the client will send a list of individual custom drills, that is never longer than 6 balls each.
  2. random ball selection per line (allow fh/bh randomly)
  3. configurable pause between drills (for better simulation of serve/push/attack drills)
  4. save to / load from file (simple text file, organize them on your file system as you see fit)
  5. store drill/pause locally in browser (last edited values will be there, when you reload the page on the same device)
Explanation for feature #2: You can define multiple different versions of a ball (the demo drill has a fh/bh drive ball defined). The drill will select one of these balls for each run through the drill randomly. That should handle the feature wish of @Jslick89 in this post?

Feature # 3: The pause in milliseconds is used after each run through the defined drill. I hope that is what @plunder had in mind in his rant.

The apps looks like this:
1761153411358.png


Feel free to experiment. The bluetooth connection is not always stable, so you might occasionally need to reload the website and reconnect to the bot.

As a reminder: The new app can be reached via https://smee.github.io/nova-s-custom-drills/index.html

If you want to use the first prototype, it is still online at https://smee.github.io/nova-s-custom-drills/index.v1.html
 
Last edited:
says rejoicing in rbpon 🆚 robipon
says rejoicing in rbpon 🆚 robipon
Member
Sep 2024
355
210
1,193
Read 2 reviews
spend the time programming the random drills i'm looking for.
i spent 3d × 5h testing and noting down the full valid wheel speed ranges for underspin balls (height=0,5,10,15,…,100), topspin balls (height=0,5,10,15,…100), underspin cerves (height=-50,-45,-40,-35,-33), and topspin cerves (height=-50,-45,-40,-35,…,0,5,10), all at maximum spin possible, from pos8 to drop point=-6.

basically now i know all(!) balls (with their quality: speed, spin, bouncing height, bouncing position, trajectory) which the Nova is able to produce; that's good to know, to have a full picture of all "robi2-possible" balls! and it just reconfirms the assertions of my review. on the one hand the nova can land a bunch of "unrealistic shots", on the other hand, unfortunately it cannot produce a whole range of shots which one encounters IRL; and that's due to the 2-wheels system, where speed and spin are totally interlocked: you increase a wheel speed, this increases the ball spin, but it also increases the ball speed. I.e. if you want a really spinny ball, then the ball will be also very fast; this is okayish for topspin balls but is lamentable for underspin balls. most robis on the market have a 2-wheels system, so they all suffer from that problem too.

with my annotated table (2 spreadsheets), a user can easily pick the balls of interest, forming a ball sequence ("drill") with them, and be sure that the drill will work right away, without prior testing. the fine-tuning of the wheel speeds is intuitive and explained, if a ball —because of a changed drop point— doesn't land as expected.

Here we go, enjoy!
For systematic testing of all these balls, here the full list copy pasted from the above link:
Code:
500,6500,0,-6,0,199    ;75 low laser rocket #unreal, impossible to loop: do nospin loop
500,6800,0,-6,0,199    ;90 rarely lands #unreal
500,5300,5,-6,0,199    ;55 #unreal, open up w/ nospin or off-the-bounce loop
500,6500,5,-6,0,199    ;99 rarely lands #unreal
500,4850,10,-6,0,199    ;50 1bounce, shot sharply, hq push
500,6100,10,-6,0,199    ;99 shot sharply #unreal
500,4450,15,-6,0,199    ;40 1bounce, flickable, medium push #nice
500,5750,15,-6,0,199    ;99 shot sharply almost #unreal, loopable but in match rather nospin loop
500,3950,20,-6,0,199    ;30 1bounce, low lq medium push, near table edge difficult to flick\loop
500,5450,20,-6,0,199    ;99 slowish long push, ok now to loop, challenging
500,3750,25,-6,0,199    ;25 2bounce, low lq short push, difficult to flick #shortpush
500,5150,25,-6,0,199    ;99 #longpush, loopable from afar\near
500,3550,30,-6,0,199    ;25 2bounce, low 0spin #shortpush swattable w/ inv
500,4950,30,-6,0,199    ;99 less low #longpush, starts inviting inv smash
500,3350,35,-6,0,199    ;20 2.5bounce, less low 0spin #shortpush, ez to flick\swat
500,4850,35,-6,0,199    ;99 less low lq #longpush, easier to inv smash
500,3250,40,-6,0,199    ;20 2.8bounce, not low 0spin #shortpush, ez to flick\swat
500,4700,40,-6,0,199    ;99 fair challenge for inv aiming at full swing #nice
500,3150,45,-6,0,199    ;20 3.2bounce, similar to BH=40, triple bounce #shortpush
500,4600,45,-6,0,199    ;99 highish arc lq #longpush, beginners learn inv drive
500,3000,50,-6,0,199    ;15 3.8bounce, flickable, harder to swat
500,4450,50,-6,0,199    ;99 similar to BH=45, ez to loop\swat
500,2900,55,-6,0,199    ;15 4.2bounce, flickable, easier to swat
500,4350,55,-6,0,199    ;99 high arc lq #longpush, getting uncomfy to loop, invites inv smash
500,2850,60,-6,0,199    ;15 5bounce, ez to swat or strawberryslap
500,4300,60,-6,0,199    ;99 similar to BH=55, must inv smash
500,2800,65,-6,0,199    ;15 5bounce, unrealistically ez to swat or strawberryslap
500,4200,65,-6,0,199    ;99 unrealistic high push, too ez to inv smash
500,2750,70,-6,0,199    ;10 5bounce, unrealistic short high 0spin push, too ez
500,4100,70,-6,0,199    ;99 similar to BH=65
500,2650,75,-6,0,199    ;10 6bounce, too ez #unrealistic
500,4100,75,-6,0,199    ;99 similar to BH=65, for inv smash
500,2600,80,-6,0,199    ;10 7bounce, pancake flippable, too ez
500,4000,80,-6,0,199    ;99 similar to BH=65, little underspin
500,2580,85,-6,0,199    ;5 7bounce, difficult to reach
500,3960,85,-6,0,199    ;99 even higher and easier, must inv smash
500,2570,90,-6,0,199    ;5 similar to BH=85, bh flick hits net edge on the rise
500,3940,90,-6,0,199    ;99 bh drive neutralizes underspin, invites natural freestyle bh
500,2560,95,-6,0,199    ;5 8bounce, high short empty push
500,3900,95,-6,0,199    ;99 similar to BH=90, beginner's setting
500,2550,100,-6,0,199    ;5 similar to BH=95, fly down swatting
500,3850,100,-6,0,199    ;99 for bh smash, natural better than inv

7200,500,5,-6,0,199    ;55 low fast, ez to handle, random balls land, min\max the same
7200,4900,5,-6,0,199    ;99 less spinny, low superfast #unreal
6500,500,10,-6,0,199    ;50 low fast, bit unrealistic
7200,500,10,-6,0,199    ;60 low fast, ez to handle
5500,500,15,-6,0,199    ;45 low not slow, ez to handle
7200,1000,15,-6,0,199    ;70 low fastish, ez to handle
5000,500,20,-6,0,199    ;40 very low not too slow, challenging, ~clips the net #nice
7200,500,20,-6,0,199    ;80 short wrist zuckung action, hard topspin but not super spinny
4550,500,25,-6,0,199    ;35 very low slowish, ez to be active
7200,500,25,-6,0,199    ;95 challenging to be active #nice
4200,500,30,-6,0,199    ;30 1bounce, low slow, much time, ez to be active #unrealistic
6800,500,30,-6,0,199    ;99 lowish fast, hardish topspin
3950,500,35,-6,0,199    ;25 1bounce, similar to BH=30, shorter
6500,500,35,-6,0,199    ;99, similar to BH=30, easier
3680,500,40,-6,0,199    ;25 similar to BH=30, less spinny
6050,500,40,-6,0,199    ;99 enough time, perfect for counter <loop/drive/inverse>
3460,500,45,-6,0,199    ;20 1bounce, highish, ez to attack over table
5750,500,45,-6,0,199    ;99 getting highish thus uncomfy
3350,500,50,-6,0,199    ;20 similar to BH=45, swat with inv, close to net single bounce
5400,500,50,-6,0,199    ;99 harmless, to be smashed
3200,500,55,-6,0,199    ;15 1.1bounce, like a table edge cerve
5200,500,55,-6,0,199    ;99 start for pushblock training
3100,500,60,-6,0,199    ;15 2bounce, short highish lq drive, ez to attack
5050,500,60,-6,0,199    ;99 getting highish/unnatural for inv
3000,500,65,-6,0,199    ;15 2bounce, poor quality ball, punishable
4900,500,65,-6,0,199    ;99 easier with natural drive than inv
2900,500,70,-6,0,199    ;10 2bounce, flip smash (not flick smash)
4720,500,70,-6,0,199    ;99 good for press block downwards (fliplike)
2850,500,75,-6,0,199    ;10 similar to BH=70
4600,500,75,-6,0,199    ;99 hold from chest then smash downwards
2800,500,80,-6,0,199    ;10 too ez to flip/inv smash
4500,500,80,-6,0,199    ;99 elbows high, similar to BH=75
2700,500,85,-6,0,199    ;10 similar to BH=80
4450,500,85,-6,0,199    ;99 maybe inv smash safer
2670,500,90,-6,0,199    ;10 similar to BH=80, 2bounce because of topspin
4400,500,90,-6,0,199    ;99 bh smash from afar as you like
2635,500,95,-6,0,199    ;10 similar to BH=80
4350,500,95,-6,0,199    ;95 natural bh drive with schmackes from chest high is fun
2600,500,100,-6,0,199    ;5 2bounce, high, ez to flip o swat
4300,500,100,-6,0,199    ;99 good to learn bh smash from afar

500,3000,-50,-6,0,1    ;25 7bounce, too short to flick
500,4900,-50,-6,0,1    ;99 empty at racket, do a 0spin drive
500,2950,-45,-6,0,1    ;25 6bounce, too low to flick
500,4800,-45,-6,0,1    ;99 do a tennis bh
500,2900,-40,-6,0,1    ;25 similar to BH=-45
500,4600,-40,-6,0,1    ;99 nice harmless lowish long 0spin cerve
500,2900,-35,-6,0,1    ;25 similar to BH=-45, unreliable LW value
500,4000,-35,-6,0,1    ;75 rarely lands, LW=3500 @50nice
500,2800,-30,-6,0,1    ;25 similar to BH=-45
500,3500,-30,-6,0,1    ;50 rarely lands, LW=3100 @40nice
500,2800,-25,-6,0,1    ;20 similar to BH=-45
500,3100,-25,-6,0,1    ;35 rarely lands, LW=2950 @30nice
500,2700,-20,-6,0,1    ;20 similar to BH=-45, impossible to flick
500,2900,-20,-6,0,1    ;30 rarely lands, LW=2800 @25nice
500,2600,-15,-6,0,1    ;15 similar to BH=-45
500,2800,-15,-6,0,1    ;25 rarely lands, LW=2700 @20nice
500,2500,-10,-6,0,1    ;20 similar to BH=-45
500,2750,-10,-6,0,1    ;20 rarely lands, try LW=2600
500,2400,-5,-6,0,1    ;15 similar to BH=-45
500,2650,-5,-6,0,1    ;15 rarely lands, try LW=2500
500,2300,0,-6,0,1    ;15 similar to BH=-45
500,2500,0,-6,0,1    ;15 rarely lands, try LW=2400

2500,500,-50,-6,0,1    ;20 2bounce, clips net coming down from peak
4600,500,-50,-6,0,1    ;99
2500,500,-45,-6,0,1    ;20 2bounce, miniflick possible
4500,500,-45,-6,0,1    ;99, easy, nice, realistic
2500,500,-40,-6,0,1    ;20 similar to BH=-45
4500,500,-40,-6,0,1    ;99 similar to BH=-45
2400,500,-35,-6,0,1    ;20 similar to BH=-45
4250,500,-35,-6,0,1    ;85
2350,500,-30,-6,0,1    ;20 similar to BH=-45
3900,500,-30,-6,0,1    ;70 low, good for practicing hq inv drive
2300,500,-25,-6,0,1    ;20 witzlos, can maneuver to any corner
3600,500,-25,-6,0,1    ;65 easy to inv drive
2300,500,-20,-6,0,1    ;20 similar to BH=-45
3400,500,-20,-6,0,1    ;60 similar to BH=-25
2250,500,-15,-6,0,1    ;20 3bounce, kullerball, miniflickable
3150,500,-15,-6,0,1    ;55 practice inv loop
2200,500,-10,-6,0,1    ;20 similar to BH=-15, bounces 1x
3000,500,-10,-6,0,1    ;50 similar to BH=-15, bounces 3x
2150,500,-5,-6,0,1    ;20 similar to BH=-15
2900,500,-5,-6,0,1    ;45 because of topspin ez to flick ubertisch
2100,500,0,-6,0,1    ;20 similar to BH=-15, close to net single bounce
2800,500,0,-6,0,1    ;45 maneuver with inv press
2050,500,5,-6,0,1    ;15 similar to BH=-15, cerves starting to feel false f***
2700,500,5,-6,0,1    ;45 similar to BH=0
2000,500,10,-6,0,1    ;15 similar to BH=-15, inc BH at min UW can lead to feed jams!
2600,500,10,-6,0,1    ;45 2bounce, short cerve, inc BH leads to high bounce cerves!
While the above values are rather final, i plan to add helpful descriptions to a few more balls. Ofc these values are optimized for my Nova unit, using my balls, my modded wheels. Feel free to print it out as template or reference/base, test the min and max values and finetune/edit them, adapting optimally to your Nova unit. Let's try an example of a PC-imagined 6-ball sequence drill (drop points = -6 | 6), using conservative values:

s50a | s40c | c10b (* picks from 3 different cerves at random *)
u25a | u35c (* produces short vs long push to fh *)
u45b | u60b (* produces medium push to bh *)
t40a | t65a (* produces short nonspinny loop to bh *)
t30b | t40c (* produces fast drive to fh *)
t45c | t70b (* produces high drive to bh *)
Code:
500,3000,-50,-6,0,1|500,4700,-40,6,0,1|2500,500,-10,-6,0,1
500,3900,25,6,0,1|500,4700,35,6,0,1
500,3800,45,-6,0,1|500,3500,60,-6,0,1
3750,500,40,-6,0,1|3100,500,65,-6,0,1
5400,500,30,6,0,1|5950,500,40,6,0,1
5650,500,45,-6,0,1|3700,500,70,-6,0,1

Your web client @smee0815 is an absolute game changer, beautiful work, thanks a million! 💐
 
Last edited:
says rejoicing in rbpon 🆚 robipon
says rejoicing in rbpon 🆚 robipon
Member
Sep 2024
355
210
1,193
Read 2 reviews
@smee0815 Please lemme ongoingly add here to a list of suggestions for (gradual) expansion of your web client, tia for your attention and consideration! 👍

List of suggestions:
  • id01. It would be very useful to have a practical symbol like "q" "Q" or "." (but not necessarily "#" "+" or "%", enter without quotes!), which, if added right in front of a sextuple ((no matter if followed by a space char or not)), deactivates the subsequent sextuple,
    e.g. "
    500,3800,45,-6,0,1|q500,3500,60,-6,0,1"
  • id02. It would be useful(?) to be able to add an inline comment at the end of a line thru a comment marker like "%",
    e.g. "
    500,3800,45,-6,0,1|500,3500,60,-6,0,1 %produces medium push to bh"
    or "
    500,3800,45,-6,0,1|500,3500,60,-6,0,1 % u45b | u60b"
  • id03. How about 3 boxes (instead of just the one), right next to each other, each preceded by a radio button? Only 1 radio button can be selected at a time (boolean XOR). This way the user has direct access to three totally different drills, without the need to load 3 TXT files. And saving to a single TXT file would allow the definition of up to 3 drills in that file.
  • id04. There's much scrolling involved on my tablet. For practical utility i'd rather have the box and controls at the top of the page, and all text/explanations at the bottom. A matter of taste or layout preference i guess nbd.
  • id05. How about a "Save As ..."-button, and a "Save"-button which saves to the currently loaded file name (instead of creating new numbered novadrills.txt files)?
Hope you like these simple ideas!
 
Last edited:
  • Like
Reactions: serve_and_volley
Top