BusyBox has two shells, ash and hush. To see which one you have, run type chdir: ash has it as a builtin (synonymous with cd), hush doesn't. Both have an optional prompt expansion feature. Ash's is enabled by activating the ASH_EXPAND_PRMT feature at compile time, while hush requires FEATURE_EDITING_FANCY_PROMPT.
When that feature is present, in ash the value of PS1 is expanded like a double-quoted string: $foo, $(command) and `command` constructs are expanded.
Some backslash escapes are processed (in ash, after substitutions). They are a subset of bash's.
\!: line history count
\a: bell
\b: backspace
\e, \E: escape
\f: form feed
\h: host name
\n: newline
- '\r`: carriage return
\t: tab
\u: user name (only with FEATURE_GETUSERNAME_AND_HOMEDIR)
\v: vertical tab
\w: current directory, with ~ for the home directory (only with FEATURE_GETUSERNAME_AND_HOMEDIR)
\W: current directory (unabbreviated)
\xHH or \XHH where HH are two hexadecimal digits: a character given by its hex code
\[…\]: the enclosed text doesn't count for width calculation purposes
(If you're looking at the source code, this happens in parse_and_put_prompt in libbb/lineedit.c.)