Você pode fazer um rádio Bluetooth a partir do zero?
O que você quer dizer especificamente quando diz "rádio Bluetooth"? Vamos assumir que você quer dizer Bluetooth Low Energy.Você quer dizer implementar apenas a camada física do link sem fio? Tudo que você realmente precisa para isso é um transmissor classe AB e um receptor superheterodyne onde ambos estão sintonizados para operação no espectro entre 2400 MHz e 2480 MHz. Você precisa transmitir/receber dados de 1 Mbps, 2-GFSK modulados, >185 KHz de desvio, +/- 50 ppm de erro de temporização do símbolo. Você precisa suportar 39 canais com 2 MHz de largura de banda de canal, e seu transmissor está limitado a +10 dBm de potência máxima de saída (assumindo uma antena de 0 dBi, e você está operando sob a revisão Bluetooth Core 4.2, e não sob CSA 5). Existem outras especificações no PHY do rádio que você precisa atender, mas estas são as mais importantes para começar com.
Agora como você lida com a camada MAC? Isso será feito em hardware, ou software que roda em cima do PHY do seu rádio acima? Onde você está aplicando o comprimento máximo do pacote, e o endereço IEEE do rádio? Onde você filtra os pacotes recebidos por endereço? Que tal o salto do canal - isso é feito no seu MAC (em hardware de software) ou em algum outro lugar na pilha? Onde você aplica o espaçamento mínimo entre quadros? Todos os desafios de design difíceis que precisam ser superados.
Agora e a camada de link? Isso é muito complexo para começar a resumir, mas você precisará implementar isso também. Ah, e já agora, não se esqueça do gerente de segurança, do perfil ATT e do banco de dados do GATT. O seu rádio Bluetooth será um mestre/central ou um escravo/periférico ou ambos? Você quer ser capaz de suportar várias conexões simultâneas? Apenas algumas das decisões de design que você precisa tomar nesta camada.
Agora que você fez tudo isso, como você vai desenvolver uma aplicação em cima do seu rádio Bluetooth? Que funcionalidade a sua API de Bluetooth irá habilitar? Quais são os recursos necessários para executar o seu dispositivo Bluetooth? O que é tratado pela própria API e o que se espera que o usuário configure/gerencie? Mais decisões de design a serem tomadas nesta camada.
Aresposta à sua pergunta é: sim, é possível desenvolver um rádio Bluetooth a partir do zero. Muitas empresas já o fizeram, e continuarão a fazê-lo porque há uma demanda por Bluetooth.