We introduce a new type system to Emfrp, a functional reactive programming language designed for resource-constrained embedded systems. To ensure such property that the language can statically determine the amount of runtime memory and guarantee the termination of reactive actions, it disallows the use of recursive data types and functions. However, such restrictions often impose unnatural representations of data structures and algorithms used in various applications. The declarative manner of FRP and these restriction force us to write redundant code or not to write certain kinds of programs. In this presentation, we propose EmfrpBCT, extended Emfrp with size annotated recursive data types, to overcome this problem. It is more expressive than Emfrp yet keeps the static property mentioned above. We formalize EmfrpBCT, present the algorithm for statically computing the runtime memory bounds, and prove its soundness. Moreover, we implement a compiler from EmfrpBCT to C, measure translation time, and evaluate runtime overheads.