а есть готовые модули без внешней антенны-то?
Есть, например E18-MS1-PCB.
И желательно сразу с разъемом под батарейку?
Странное желание. Разведите плату сами и сделайте разъем под нужную Вам батарейку. На макетных платах для ардуинщиков разъемов для батареек пока от производителей плат не видел и для этих макетных плат ZigBee, разъемы для батареек не встречал. А для модулей Wi-Fi ESP-12F и ZigBee E18-MS1-PCB которые производители устройств устанавливают в схемы, идея наличия разъема для батарейки выглядит абсурдно.
Не оч понятно куда тулить этого урода с гребенками и внешней антенной.
Хорошее замечание. Дело в том, что рисунки соединений нарисованы исходя из того, чтобы было понятно, что и с чем соединять.
Реальные размеры совсем другие. Для точки отсчета взял Nano. Смотрите, что получается.
На самом деле, макетная плата достаточно маленькая, антенна действительно большая. На E18-MS1-PCB антенна сверху платы есть, просто в отличии от ESP-12F где антенну хорошо видно вверху платы, на плате ZigBee антенна залита лаком но ее все равно видно.
Для тех кто привык к монтажу проводками на макете, идеально подойдет макетная плата, будет все привычно. Если Вы хотите сделать компактное устройство, используйте не дорогой, проверенный "народный" модуль E18-MS1-PCB.
Для понимания, сможете ли Вы спаять устройство привожу размеры между центрами контактных площадок.
Плата -> Расcтояние между центрами контактов (вид монтажа)
NANO ардуина -> 2,54 мм (гребенка ардуино)
ZigBee Макетная -> 2,54 мм (гребенка ардуино)
Wi-Fi ESP-12F -> 2,0 мм (контакты)
ZigBee E18-MS1-PCB -> 1,27 мм (контакты)
Учтите, что между самими контактными площадками на модуле ZigBee расстояние меньше одного миллиметра. От перегрева модуль мгновенно выходит из строя. Паять либо температурным профилем, паяльной пастой к Вашей плате, либо у меня получается индукционной паяльной станцией припаивать контакты без повреждения модуля. Время пайки контакта получается менее 0,5 секунды и даю время остыть, перед пайкой следующего контакта.
Тулить макетку туда же, куда тулят все ардуино поделки. Тут все просто. Я Ваши возможности не знаю, возможно для Вас развести плату и припаять smd детали очень просто. Тогда применяйте модули для производителей устройств, но разъемов для батареек на них нету.
Для E18-MS1XXXX уже придумали кучу макетных плат.
Например.

Находясь в РФ, присутствует отрицательная возможность такое купить готовое. Но в принципе в интернете есть бесплатные гербер файлы и можно заказать у китайцев изготовление на JLCPCB или подобном.
А под роутер, наверное, удобнее модуль с внешней антенной и USB разъемом который сразу можно воткнуть в малинку или еще куда где можно связать его с zigbe2mqtt?
Роутер в ZigBee сильно отличается от центрального узла координатора.
Координатор, например на базе малины с более серьезным USB ZigBee зеленый на схеме выдает слишком малый сигнал для конечного устройства (датчик) желтый на схеме. Сигнал гасится железобетонными перегородками здания, через одну стену сигнал проходит, а через несколько стен гарантированно затухает. Роутеры позволяют транслировать сигналы от датчиков до координатора. Получив слабый сигнал от координатора, роутер отправляет полноценный по мощности сигнал и уже этой мощности хватает, чтобы сигнал дошел до другого роутера или конечного устройства. Это преимущество ячеистой сети. Расплата за это преимущество, низкая скорость, малые объемы данных, большие задержки. Достоинство, требуется малая мощность сигнала датчика и как следствие низкий расход энергии батарейки. Роутеры в сети ZigBee вынуждено потребляют больше энергии, потому, что всегда в работе, готовы получать и пересылать информацию. Датчики наоборот, спят с почти нулевым потреблением энергии изредка просыпаясь и отправляя информацию ближайшему роутеру, кто готов получить и проследить доставку до координатора. Чтобы у пользователя не возникало дурных мыслей, зачем ему эти роутеры производители всегда совмещают постоянно подключенное к сети питания устройство с чем либо (датчики, лампочки, розетки, выключатели). Соответственно грамотно построенная сеть будет содержать нужное количество роутеров, хотя пользователь не будет отдельно покупать такое устройство. Поскольку мой пример содержит роутер с датчиком, а не антенну координатора, смысл включать его в малину отсутствует. Вы можете сделать из CC2530 антенну ZigBee для малины, но не советую. Соответственно предполагалось, что данные с датчика будут попадать в координатор так же, как если бы Вы в свой умный дом добавили еще одно отдельно установленное устройство.
PS Для понимания. Не являюсь командой форума, Не пишу заказные платные либо бесплатные статьи для этого форума. Такой же обычный пользователь как и многие здесь пишущие. Просто по образованию инженер по специальности связанной с электроникой и большим жизненным опытом, знаниями и навыками работы. Поскольку это было всего лишь предложение завести отдельный раздел для устройств умного дома и обсуждений как сейчас с Вами, а пока администрация думает, оформил текст до вида, отсюда можно что-то узнать