1 pontos por GN⁺ 2025-05-16 | 1 comentários | Compartilhar no WhatsApp
  • Para criar um bom smartwatch em 2025, primeiro é preciso definir a experiência desejada e então ajustá-la às restrições de MCU, tela, bateria e software
  • A escolha do chip não é uma simples comparação de desempenho, mas uma decisão de design de produto que envolve ao mesmo tempo compatibilidade de software, consumo de energia e custo dos componentes
  • O Core 2 Duo buscava um porte rápido do PebbleOS com o conhecido Nordic nRF52840, mas o Core Time 2 precisava de mais RAM e desempenho de processamento por causa da tela colorida maior
  • A família SiFli SF32LB52x oferece 512 KB ou mais de SRAM, 16 MB de PSRAM, periférico para display MIP, cerca de 50 µA de consumo em conexão BLE, preço abaixo de US$ 2 e SDK open source
  • No Core Time 2, está previsto o uso do SF32LB52J, variante de 1,8 V do SF32LB527, uma escolha que atende aos requisitos de energia, custo e display mantendo o PebbleOS open source

Projetar um smartwatch é equilibrar restrições

  • Um smartwatch se divide basicamente em três partes
    • O hardware do relógio, que é o relógio em si
    • O software do relógio, chamado de firmware ou sistema operacional
    • O app móvel complementar para iOS e Android, responsável por enviar notificações, baixar watchfaces etc.
  • Um smartwatch não é um dispositivo de formato único que serve para todos, e espera-se que a abertura do código do PebbleOS leve à criação de smartwatches adaptados às necessidades de cada pessoa
  • O design de eletrônicos de consumo é o processo de definir a experiência desejada e depois decompô-la em especificações e componentes viáveis
    • Exemplo: “um smartwatch sempre ligado, legível sob a luz do sol e com 30 dias de bateria”
    • Exemplo de especificações: display e-paper, Bluetooth LE, resistência à água, preço de varejo de US$ 150
    • Exemplo de componentes: Sharp Memory LCD, bateria de polímero de lítio de 150 mAh, FreeRTOS

Os cinco sistemas que compõem o hardware do relógio

  • O hardware do relógio se divide em cinco sistemas essenciais
    • Chip microcontrolador, que normalmente inclui o rádio Bluetooth
    • Display
    • Sensores e dispositivos de saída, como chaves tácteis, toque, microfone, acelerômetro e alto-falante
    • Outros componentes eletrônicos, como chip, componentes passivos, PCB e bateria
    • Estrutura mecânica, como caixa, vidro, botões, pulseira e cabo de carregamento
  • Os três últimos sistemas — sensores, bateria, pulseira, caixa, microfone etc. — hoje têm muitas boas opções em várias faixas de preço, por isso são relativamente fáceis de escolher
  • As decisões mais difíceis no design de um smartwatch são a escolha do MCU/rádio Bluetooth e do display

Restrições de MCU e Bluetooth na época do Pebble

  • Na época do primeiro Pebble, foi usado um MCU STM32F2
    • O inPulse, produto anterior ao Pebble, usava um LPC2103 com 8 KB de RAM
    • As especificações dos MCUs do Pebble antigo ficavam na faixa de 64 a 144 MHz e 128 a 256 KB de RAM
  • Naquela época, os MCUs não tinham rádio Bluetooth integrado, então era preciso adicionar um chip separado, como o TI CC2564
  • O MCU é o chip central do smartwatch, reunindo em um pequeno circuito integrado CPU, RAM, armazenamento flash comum, periféricos de entrada/saída e, às vezes, até rádio

Por que a escolha do MCU afeta o produto inteiro

  • O MCU está no centro das condições mais apertadas de um smartwatch: compatibilidade de software, consumo de energia e custo
  • Software embarcado é mais fragmentado que sistemas operacionais de computador e fica fortemente preso aos requisitos de hardware
    • O Linux, com pouca restrição de espaço em disco, consegue incluir mais de 17.000 drivers de dispositivo
    • O PebbleOS era, na prática, codificado para suportar apenas MCUs da família STM
  • Para mudar para um MCU de outra marca, é preciso reescrever drivers de periféricos como I2C, SPI e DMA, adotar outro SDK e, em alguns casos, também alterar o sistema de build
    • Essas mudanças não são tarefas perigosas, mas exigem tempo de implementação e testes
    • Alguns MCUs não oferecem suporte fácil ao FreeRTOS
  • Sem produção em escala de centenas de milhares a milhões de unidades, é difícil diluir o custo de engenharia de software nas vendas em massa, o que impacta bastante o custo total por relógio
  • Como um smartwatch precisa ficar conectado ao celular por Bluetooth 24 horas por dia, o consumo médio de energia no estado conectado se torna, junto com o display, um dos maiores fatores de consumo

Candidatos de chip para o Core 2 Duo e o Core Time 2

  • Para o Core 2 Duo, decidiu-se usar o Nordic nRF52840
    • Embora seja um chip antigo, já era familiar e considerou-se que permitiria portar o PebbleOS de forma relativamente rápida
    • Inicialmente, o plano era usar a pilha BLE Nordic SoftDevice, mas depois houve a transição para a pilha BLE open source nimBLE
  • O Core Time 2 precisava de mais RAM e desempenho de processamento do que o nRF52840
    • A tela colorida maior exigia mais RAM
    • Também se queria margem para novos recursos
  • A intenção era continuar usando Nordic, mas o roadmap de MCUs BLE não se encaixava bem nos requisitos
    • O nRF54L15 tem apenas 256 KB de RAM e só recentemente entrou em produção em massa, então havia poucas impressões de uso
    • A série 54H, com 1 MB de RAM, custava US$ 4–5 ou mais, cerca do dobro, e não havia opção com 512 KB de RAM
    • O display MIP de 64 cores do Core Time 2 exigia uma interface especial, e o Pebble de 2015 usava um FPGA separado para isso

Por que o SiFli SF32LB52J foi escolhido

  • Vários candidatos, como Apollo, BES e Dialog, foram avaliados, mas era difícil encontrar um chip que atendesse exatamente aos requisitos
  • Um dos grandes obstáculos era a ausência de um SDK open source
    • Um chip da BES parecia bom, mas o SDK e o código de exemplo não estavam publicados, e tudo ficava atrás de NDA
    • Como o PebbleOS precisa ser open source, essa abordagem não servia
  • A SiFli oferece chips Bluetooth criados para serem usados como chip principal de smartwatches
    • Eles já são usados em dezenas de milhões de smartwatches de várias marcas, como Redmi, Oppo e Noise
    • Mesmo o menor chip, o SF32LB52x, oferece 512 KB ou mais de SRAM e 16 MB de PSRAM
    • Há um periférico MIP dedicado, dispensando um FPGA separado ou um chip caro de interface de display dedicada, como os da Epson
    • O consumo de energia em estado de conexão BLE é de cerca de 50 µA, e o preço fica abaixo de US$ 2
    • Se necessário, também é possível migrar para outros chips SiFli com opções de 1 a 2 MB de SRAM
  • O SDK da SiFli está publicado como open source no OpenSiFli no GitHub, e a SiFli também ofereceu suporte ao porte do PebbleOS
  • No Core Time 2, está previsto o uso do SF32LB52J, variante de 1,8 V do SF32LB527

Links relacionados à SiFli

1 comentários

 
GN⁺ 2025-05-16
Comentários no Hacker News
  • O PebbleOS não é o único nessa área; também existe o https://www.espruino.com/, que roda o https://banglejs.com/
    É uma implementação minúscula de JavaScript para microcontroladores, o que facilita hackear dispositivos em tempo real
    Parece que também é usado no Fallout Pip-Boy e em outros produtos da The Wand Company: https://www.thewandcompany.com/fallout-pip-boy/
    Referência: https://github.com/orgs/espruino/discussions/7577

    • Eu nunca tinha ouvido falar do Bangle.js, mas gosto da ideia de poder mexer nele usando uma linguagem que já conheço
      Não gosto do design quadrado, então queria comprar o modelo de 1ª geração, mas parece que ele não é mais vendido
    • É bom também divulgar o bom trabalho de concorrentes menos conhecidos
      O Pebble também é excelente, mas esses projetos também merecem atenção
      E, se tiver oportunidade, vale a pena assistir à série Fallout da Amazon
    • O PineTime também vale como referência
  • Foi dito que “o SDK é open source”, mas isso não parece significar que exista um SDK com código aberto para o microcontrolador BLE
    Ao que parece, o código BLE é fornecido como um blob binário
    https://github.com/OpenSiFli/SiFli-SDK/tree/6c82a9b15db49871...
    Isso não é necessariamente um problema, mas, se for chamado de “open source”, seria bom poder ler o código-fonte

    • O firmware de dispositivos de rádio BLE provavelmente sempre será fornecido como blob binário por questões de propriedade intelectual e regulamentação
  • Esse smartwatch não é tão smart assim pelos padrões atuais
    Acho que eu sentiria muita falta de conveniências do meu smartwatch atual, como pagamento por NFC, rastreamento GPS de banda dupla e conexão 4G LTE
    O Pebble e o rePebble escolheram, em troca, uma bateria que dura semanas, mas eu não quero abrir mão desses recursos poderosos por causa do pequeno incômodo de carregar meu Galaxy Watch a cada dois dias

    • Para mim, pelo contrário, esses recursos não importam nem um pouco, enquanto longa duração de bateria importa
      É bom que existam dispositivos voltados a usuários diferentes
      Eu não diria que ele “não é smart” só porque o público-alvo é outro; é apenas um dispositivo que não serve para o meu uso
    • Para mim, ele é smart o suficiente
      Não preciso muito desses recursos; quero só um relógio que permita alguma personalização, receba notificações e faça medição básica de frequência cardíaca
      Se eu tiver que carregar mais de uma vez por semana, acho que não usaria
    • Também faltou mencionar que a Garmin já oferece a maioria desses recursos e muito mais, ainda com bateria que dura semanas
      Ainda não tem 4G, mas, pelo que sei, houve notícias de que isso entrará nos dispositivos do ano que vem
    • GPS também faria falta para mim, mas ainda não encontrei um produto que preencha de verdade o vazio deixado pelo Pebble
      A Garmin tem concessões em outras áreas, como bateria, widgets, calendário e legibilidade da tela
      No fim, tudo é trade-off
    • Só pela duração da bateria, eu já acho que não é o caso
  • Há mais informações sobre o chip aqui:
    https://www.cnx-software.com/2025/05/14/sifli-sf32lb52j-big-...

  • É interessante que não tenham adotado um projeto de 2 chips, um para a aplicação principal e outro para BLE
    Microcontroladores de alto desempenho geralmente não têm RF, então às vezes esse tipo de projeto faz sentido

    • Os microcontroladores “avançados” de hoje são bem bons
      Há a linha NRF, e também produtos como o ESP32, que colocam Bluetooth e Wi-Fi em um único pacote
      Pessoalmente, hoje eu tenderia para o ESP32; ele continua melhorando bem e tem bom suporte da comunidade
      No momento estou desenvolvendo uma plataforma de smartwatch baseada em MicroPython
    • Quanto mais chips, mais complexo fica o projeto
      A lista de materiais também é um problema, mas cada chip precisa de componentes passivos auxiliares e osciladores, é preciso coordenar a comunicação entre os chips, e as abordagens de atualização de firmware e depuração também precisam ser projetadas para ambos
      Pode ser melhor manter tudo simples, mesmo sacrificando um pouco a duração da bateria
    • O núcleo Cortex-M33 do chip SiFli provavelmente é muito mais rápido que o núcleo M4 usado no modelo mais rápido do Pebble lançado, então não há necessidade de um microcontrolador mais rápido que isso
      Em compensação, o aumento na duração da bateria é muito bem-vindo, e usar desta vez um microcontrolador com Bluetooth integrado parece ser uma grande razão para a melhora de cerca de 1 semana de bateria para cerca de 1 mês
    • É só um relógio
      Não é preciso um computador UNIX completo para coisas como mostrar as horas, registrar frequência cardíaca e enviar sinais para a AWS
  • É bom ver que finalmente há uma tentativa de seguir na direção do open source no setor de chips de baixo consumo
    Assim que vi o anúncio do rePebble, me inscrevi na hora, mas depois percebi que, na verdade, o que eu queria não era um smartwatch, e sim um relógio simples com alerta por vibração
    Sei que é um gosto de poucos, mas é um nicho com pessoas bem entusiasmadas [0] [1] [2]
    Depois de usar um Casio F105 nos últimos 2 anos, fica difícil voltar para algo maior, mais pesado ou mais grosso do que isso
    Se ele ganhasse um pouco de Bluetooth, eu aceitaria carregar uma vez por semana
    Hoje estou procurando um chip Bluetooth minúsculo capaz de acionar um pequeno motor de vibração e receber todas as notificações do iPhone
    Nos meus testes, mesmo prendendo um chip, um motor e uma pequena bateria de lítio entre as duas pulseiras do F105, quase não dava para sentir o peso extra naquela posição
    Ainda me lembro da primeira Mi Band 1 que usei
    Era uma pulseira fitness esquecida, sem tela e com apenas 3 LEDs RGB, e dava para exibir uma cor específica conforme o app que enviava a notificação; assim eu sabia imediatamente que uma conversa azul do Messenger precisava de resposta na hora, ou que uma notificação amarela do Google Keep podia ser ignorada até eu voltar ao computador
    [0] https://www.reddit.com/r/pebble/comments/9xw2j2/im_looking_f...
    [1] https://www.reddit.com/r/smartwatch/comments/174hq9x/need_a_...
    [2] https://tildes.net/~tech/18nf/smartwatch_primarily_for_notif...

    • Talvez fuja um pouco do escopo, mas existe o W770 da Citizen
      Comprei recentemente um usado em bom estado por menos de 200 dólares; é um cronógrafo bem decente, com BLE, alarme, motor de vibração e até um ecossistema estranho de notificações scriptáveis que parece meio abandonado
      Como relógio, você precisa ler o manual inteiro para entender os vários modos de interface, mas isso é razoável considerando que ele precisa mostrar todas as informações só com ponteiros, sem display
      Na configuração inicial talvez seja necessário sincronizar os ponteiros, o que me deixou bem confuso no começo
      Ele usa alimentação solar eficiente com supercapacitor, então dura meses mesmo deixado no escuro e, se você usar no pulso, praticamente não precisa se preocupar com bateria
      O supercapacitor pode ser trocado quando se desgasta e, pelo que se vê em outros relógios da Citizen, parece durar de forma confiável algo como 15 a 20 anos
      Gosto bastante dele porque é um relógio de verdade, bem construído, e, se você quiser, pode simplesmente usar e esquecer, que ele continua fazendo seu trabalho ano após ano
      Talvez existam outras opções da Citizen com BLE
      Se alguém fizesse engenharia reversa das notificações e do protocolo de comunicação BLE para criar um app companheiro open source, acho que isso abriria possibilidades bem interessantes para gente com perfil hacker
    • Ainda uso um Pebble original e fico feliz com a notícia de que ele vai voltar, mas não tenho planos de fazer upgrade
      Meus requisitos também são simples
      Preciso de alarmes por vibração, notificações e, principalmente, um display legível sob sol forte e confortável para olhos com presbiopia
      O display eInk do Pebble original é perfeito para isso
      Também é bom poder ler mensagens sem tirar o celular do bolso
      Além disso, dá para encontrar um no eBay por cerca de 30 dólares, e uma bateria nova custa por volta de 15 dólares, então não pesa muito
      O trabalho da comunidade Rebble.io ainda funciona bem o suficiente para o meu uso
    • Concordo
      Eu estava procurando uma pulseira ou fecho de relógio “smart” que pudesse usar em um Seiko vintage
      Só preciso receber alerta por vibração quando algo bem específico acontece no celular, por exemplo, quando minha esposa liga
      Não preciso de todos os recursos nem da tela de um smartwatch comum; é distração demais
    • Estou na mesma situação
      A UX do Apple Watch é horrível
      Uma ponta de dedo de 1 cm numa tela de 2 cm; ele tenta fazer coisa demais e também não é do meu gosto
      O Pebble permite receber avisos de mensagens ou chamadas mesmo longe do celular e ver o suficiente para decidir se vale responder
      O Pebble é bem leve e, se você colocar este mostrador, ele deve ficar com uma sensação familiar:
      https://store-beta.rebble.io/app/52f0939b1ac7948708001fc9
    • Concordo com querer “um relógio simples com alerta por vibração”
      Notificações geralmente não são sensíveis ao tempo
      Alguns anos atrás percebi que meu celular ficava tocando notificações sem muita importância e roubando minha atenção, então desativei todas as notificações
      Só confiro de algumas em algumas horas e respondo às mensagens que chegaram
      Um smartwatch comum é quase inútil para mim, e receber alertas de mensagens no pulso é praticamente uma grande disfunção
      Ainda assim, seria bom ter a função de configurar alarmes com facilidade e receber uma vibração no pulso quando chegar a hora
      Notificações como “saia agora para pegar o ônibus” ou “agora vá descansar” já seriam suficientes
      Não preciso de mais do que isso, nem de sensores sofisticados
  • Comecei a mexer em um SoC Freqchip chinês barato:
    https://github.com/zoobab/FR801xH
    Dava para comprar no Ali um smartwatch com esse chip por 3 euros

    • Uau, alguns desses chips custam 2,6 yuans, ou 0,36 dólar, para pedido mínimo de 3 mil unidades, e ainda suportam Arm Cortex-M3 e BLE, além de sig-mesh
      É barato a um nível absurdo
      O SDK é minimamente usável?
    • Você pode mandar o link de um desses relógios?
      Fiz duas buscas rápidas e não consegui encontrar
  • Bom texto, e é legal ver o PebbleOS rodando em algum tipo de hardware open source
    Mas será que ainda precisamos continuar vendo blogs alinhados à esquerda em 2025?
    Telas largas existem há muito tempo, e isso só torna a leitura desnecessariamente difícil

  • “A restrição mais interessante e difícil é, na verdade, a compatibilidade de software”, foi dito, mas provavelmente parece ser a restrição mais fácil de contornar
    Acho que eu a colocaria mais para o fim da lista

    • Há dois grandes motivos pelos quais a compatibilidade de software é especialmente importante neste produto
      Primeiro, a equipe atual é claramente menor do que a antiga equipe do Pebble, então quanto menos trabalho de software, melhor
      Segundo, os apps e watchfaces do Pebble original eram distribuídos como binários ARM compilados; portanto, se escolherem um microcontrolador com um conjunto de instruções totalmente diferente, perderão a compatibilidade retroativa
      Por exemplo, o ESP32 entra nessa categoria, embora provavelmente nem fosse uma boa opção desde o começo
    • De jeito nenhum
      Quando tudo é proprietário, você acaba encontrando muitos becos sem saída
      É completamente diferente de algo como hardware padrão de PC
  • Gostei deste texto
    nimBLE é uma excelente pilha Bluetooth e acho que vai abrir oportunidades interessantes para a Core Devices no futuro