Is there a more compact replacement for the HC-05/06 Bluetooth module?

I am building a robot car with 2 DC motors, Arduino UNO R3 and controlled with an HC-05 Bluetooth module via my Android phone. I used a perfboard as an UNO shield that will hold all the components; motor driver and female pin socket for the HC-05 Bluetooth module, along with some LEDs and resistors. However, the HC-05 module sticks out and i want to reduce its size to make the overall perfboard more compact and eventually transfer all the components to a custom PCB. What are some possible replacements that would not necessitate changes to my Arduino code or Android app code?

I've found the HC-12 which looks like it could simply be soldered onto the perfboard but it also comes with an antenna... Is that a requirement?

There is also the HM-13 and the newest HM-19.
HM-19_en.png

I also found this: nRF52840 Bluetooth Low Energy Module with USB - MDBT50Q-1M from Adafruit: nRF52840 Bluetooth Low Energy Module with USB [MDBT50Q-1MV2] : ID 4078 : $12.95 : Adafruit Industries, Unique & fun DIY electronics and kits

Can all of these work as drop-in replacements for the HC-05? Are there any others that i missed?

HM-19_en.png

That HC-12 is not Bluetooth so don’t expect it to be used with a phone. You can get bare HC-05 modules and, if you were making a custom PCB, I imagine you would use one of those, but they don’t save much space and may merely move the problem… BLE is very different from plain vanilla Bluetooth but, if that HM-19 can be used in plain-vanilla SPP mode, which is all HC-05 can do, then it should be OK. You also need to be quite sure that an app is available for your phone that can be used for that purpose with BLE.

It seems pretty strange to be worrying about the size of the Bluetooth module when the Uno takes up far more space unnecessarily. Your biggest space savings would come from switching from the Uno to a Nano or Pro Mini. That would not require any changes to your code.

Even more space savings could be gained by using a board with integrated Bluetooth functionality. You might evaluate the Arduino Nano 22 BLE, ESP32 boards (I'm not sure which is the smallest, probably one of the Adafruit Feather models), and the Bluno Beetle. However, these would require code changes, so you probably don't want to go there.

Take a Pro Mini with a HC-05 horizontally next to it.

The HC-05 usually comes with headers pre-soldered so you just have to bend them to 180 degrees.

Do make sure the HC-05 antenna is clear from the PCB itself. The more space around the antenna the better.