Sånn koder de en helnorsk «Fitbit for hunder»: - Vi måtte lage alt fra scratch

All maskinvare og programvare til Lilbit utvikles i Trondheims-området.

Morten Sæthre er daglig leder og gründer i Lilbit. 📸: Lilbit
Morten Sæthre er daglig leder og gründer i Lilbit. 📸: Lilbit Vis mer

Trondheimsselskapet Lilbit har siden 2016 jobbet med å utvikle sporingsbrikker til hund.

Dette er et marked der det allerede finnes ganske mange konkurrenter. Men ved å utvikle, designe og kode alt sammen selv i Norge, hevder selskapet de kan lage et produkt som skiller seg fra konkurrentene ved å ikke bare spore hunden – men også fortelle eieren hvordan hunden har det.

Daglig leder og gründer Morten Sæthre forteller til kode24 at selskapet i starten begynte å importere fra Kina, men at det viste seg at kvaliteten ikke var god nok. Teknologien var heller ikke avansert nok til å tilfredsstille de høye kravene selskapet og selskapets kunder hadde.

Lildog-enheten festes til halsbåndet til hunden. Det kommer også en løsning for katter. 📸: Lilbit
Lildog-enheten festes til halsbåndet til hunden. Det kommer også en løsning for katter. 📸: Lilbit Vis mer

– Nå har vi tatt produksjonen hjem fra Kina. Vi har en egen produksjonslinje i Vanvikan, får plast og støpemaler fra Leksvik, produserer antenne her i Trondheim, og får chipen fra Tyholt. Vi er heltrønderske! sier Sæthre.

Selskapet som nå teller 12 ansatte har åtte utviklere som gjør alt fra å skrive firmware i C til å lage mobilapper i Swift og Kotlin og nettsider i React og Next.js.

Bruker norsk brikke

Sæthre forteller at forbrukere i dag har høye forventninger til hvordan teknologi skal fungere. De er for eksempel bortskjemt med veldig nøyaktig GPS-sporing på mobiltelefonen eller i bilen.

Mange batteridrevne sporingsbrikker krever imidlertid at man må ofre nøyaktighet for å få god batteritid, for eksempel ved å skru av GPS-en når en sensor ikke oppdager bevegelser.

All produksjon og utvikling skjer i Trøndelag. 📸: Lilbit
All produksjon og utvikling skjer i Trøndelag. 📸: Lilbit Vis mer

– Men så hørte vi om Nordic Semiconductor og ny teknologi fra dem som skulle ha en brøkdel av batteriforbruket, og startet utvikling av et produkt basert på dette i 2018/2019, sier Sæthre.

Nordic Semiconductor er et norsk selskap som lager elektroniske brikker for trådløs kommunikasjon, blant annet brikker beregnet på IoT-enheter som skal kommunisere over mobilnettet. Det er disse som nå sitter på innsiden av Lilbits sporingsenhet for hunder, Lildog.

Brikken fra Nordic Semiconductor er bare én av mange puslespillbiter som måtte på plass før selskapet kunne lansere sitt første produkt.

– Vi måtte lage alt fra scratch. Vi måtte lage antenne, kretskort, bygge tjenesten, en app – alt fra bunnen av, sier Sæthre.

Hunden får en digital tvilling

Lildog er i dag først og fremst en GPS-sporingsbrikke og en skritteller/aktivitetsmåler for hund, men utviklerne jobber med enda mer avansert funksjonalitet.

Målet er en enhet som kan fortelle eieren hvordan hunden har det, og til og med bruke kunstig intelligens til å avdekke sykdommer, eller endringer i hundens trivsel.

– Vi vil lage noe helt nytt som markedet ikke har sett. En modul som speiler hundens bevegelser slik at du får en "digital tvilling" av hunden. Spiser den, spiser tvillingen. Sover den, sover tvillingen, forteller Sæthre.

Herbert Wikheim er teknologisjef (CTO) i Lilbit, og jobber til daglig mye med firmware-koding. 📸: Lilbit
Herbert Wikheim er teknologisjef (CTO) i Lilbit, og jobber til daglig mye med firmware-koding. 📸: Lilbit Vis mer

Herbert Wikheim er teknologisjef og leder utviklingen av fastvaren (firmware) som brukes i Lildog. Han forteller at de vil bruke maskinlæring til å klassifisere hva hunden gjør, for eksempel om den spiser, sover, drikker eller gjør andre ting. Så kan dette gjenspeiles gjennom en avatar i mobilappen.

Hensikten er å kunne se hvordan hunden har det, analysere trender, og ikke minst avdekke helseproblemer. Lilbit får bistand fra to veterinærer til dette.

Det viser seg for eksempel at en hund som får diabetes drikker mer, mens demens for hund ofte har å gjøre med hvor mye hunden er i ro eller er oppe om natten. Bevegelsesmønstre kan også avdekke ting som separasjonsangst, depresjon og mye annet.

– Vi har laget en inhouse datainnsamler som leser data fra aksellerometeret med ekstrem hastighet. Så bruker vi Edge Impulse til å raskt få en modell vi kan bruke, sier Wikheim.

«Vi har laget en inhouse datainnsamler som leser data fra aksellerometeret med ekstrem hastighet.»

Ved hjelp av Edge Impulse-plattformen har Wikheim og hans team kunnet trene opp modeller, som de så kan implementere i Lildog-enheten.

– Nå gjenstår det å implementere et bibliotek med disse modellene, slik at vi live kan klassifisere hva som skjer. Da kan vi i sanntid identifisere mønstre, som spising, drikking og løping, sier Wikheim.

Ut fra dette skal det være mulig å følge trender over tid, som igjen kan indikere hvorvidt hunden har det bra eller ikke.

Smalbånd er nøkkelen til lavt strømforbruk

Mens moderne mobiltelefoner støtter bredbånd på alle mulige frekvenser som brukes verden over, og ulike standarder, benytter Lilbits sporingsenheter smalbånd. Altså kommunikasjon over et lite frekvensområde eller smalt frekvensbånd.

– Med smalbånd er litt av hensikten å fjerne funksjoner, slik at du sparer strøm. Du må lage en enhet som er spesiallaget for akkurat det du skal bruke den til, sier Sæthre.

Med smalbånd i dette tilfellet menes NB-IoT og LTE-M, to ulike standarder som brukes av IoT (Internet of Things)-enheter som skal kommunisere over mobilnettet. Disse gir god dekning både utendørs og innendørs, i tillegg til å ha lavt strømforbruk.

Selv kretskortene lages lokalt. 📸: Lilbit
Selv kretskortene lages lokalt. 📸: Lilbit Vis mer

Når sporingsenheten er i nærheten av brukerens mobiltelefon vil den kommunisere med telefonen via Bluetooth. Og så svitsjer den over til mobilnettet og NB-IoT eller LTE-M når telefonen er utenfor rekkevidde.

Data fra sporingsenheten synkroniseres til mobiltelefonen, som så igjen synkroniserer mot backendløsningen som kjøres hos AWS.

Har laget tilstandsmaskiner selv

Wikheim forklarer at selve sporingsenheten (Lildog) benytter egenutviklet programvare som kjører på Nordic Semiconductors nRF9160. Dette er en SiP (System in a Package) som kombinerer en Arm-prosessor med det som trengs for å kommunisere via mobilnettet. Brikken har også GPS-støtte, og så er det en annen Nordic Semiconductor-brikke som tar seg av Bluetooth.

– Vi bruker et økosystem som heter Zephyr RTOS, et sanntids operativsystem som støttes av Nordic. Sammen med Nordics egen SDK har vi et ganske robust økosystem for integrering mot sensorer som for eksempel akselerometeret vårt, sier Wikheim.

Han forklarer at de har en driver som fungerer som et API på maskinvarenivå.

– Dermed slipper vi å definere pinner og så videre, siden det allerede er definert i SDK-et.

«Hele systemet med tilstandsmaskiner har vi laget fra bunnen av, og er det vi har brukt mest tid på.»

Lilbit har selv utviklet løsningene som håndterer alle sensordataene som kommer inn. Wikheim forteller at de blant annet har laget en del forskjellige tilstandsmaskiner som kjøres i RTOS-systemet.

Tilstandsmaskinene beskriver hva enheten holder på med, og hva den skal prioritere å holde på med til enhver tid. Alt sammen i sanntid. Det er for eksempel én tilstandsmaskin som holder styr på ladestatus, én for Bluetooth, én for LTE som holder styr på om hvorvidt enheten er koblet til mobilnettet eller ikke, og så videre.

– Hele systemet med tilstandsmaskiner har vi laget fra bunnen av, og er det vi har brukt mest tid på, sier Wikheim.

Koder i C, Java, Swift og Kotlin

Wikheim forteller at siden de holder til i Trondheim, med nærhet til NTNU, har det ikke vært veldig vanskelig for selskapet å få tak i kompetente utviklere. De ønsker imidlertid å holde utviklingsteamet lite nok til at kommunikasjonen flyter så godt som mulig.

– Jeg har personlig headhuntet folk fra NTNU. Men det kan være vanskelig å finne folk som virkelig er glad i og brenner for teknologi. Som vil finne på nye løsninger, utforske og ta avgjørelser andre ikke gjør. Men vi har klart det, sier Wikheim.

«Det kan være vanskelig å finne folk som virkelig er glad i og brenner for teknologi.»

Sætre legger til at de har fokusert mye på kultur og på å ha tverrfaglige team som styrer sin egen hverdag selv. Det er lav terskel for å ta hjemmekontor, og noen av utviklerne jobber fra andre steder.

– Men jeg har lyst til å ha de tekniske mest mulig på på kontoret, da flyter kommunikasjonen lettere og det er lettere å spørre om kodeproblemer, sier Wikheim – som selv jobber maks 1-2 dager i uken hjemmefra.

De fleste utviklerne er mye på kontoret. 📸: Lilbit
De fleste utviklerne er mye på kontoret. 📸: Lilbit Vis mer

For å programmere selve sporingsenheten brukes programmeringsspråket C, mens mobilappene er native apper laget med henholdsvis Swift på iOS og Kotlin på Android.

Her er en oppsummering av teknologistacken som brukes:


Selve sporingsbrikken:

  • Zephyr RTOS. Inkludert kernel for hjelp med prosesshåndtering og arbeidsplanlegging, samt generelle drivere (IMU, lyssensor, ADC)
  • nRF Connect SDK. Spesifikke drivere for LTE, BLE softdevice, GPS/GNSS
  • Programmeres i C

Backend-stacken ser slik ut:

På frontend/web:

Mobilapper:

Maskinvaren i sporingsbrikken er som følger:

  • nRF9160 (LTE/GPS)

  • nRF52811 (BLE), kontrollert av HCI (som en sekundær

  • Sensorer: IMU, lyssensor, batterispennin

  • Interface: Knapp, LED-ring, USB-C

Design gjøres i Figma, og ellers bruker utviklerne VS Code, Gitlab og Kanbanize.

Vil lisensiere ut teknologien

Forretningsidéen til Lilbit er å selge et fysisk produkt i tillegg til et abonnement du trenger for å bruke produktet. Det er abonnementet de tjener mest penger på, ifølge Sæthre.

Lilbit har til nå har vært et utviklingsselskap som har tapt penger. Totalt er det snakk om investeringer på rundt 110 millioner kroner.

– Vi er nå akkurat i krysningspunktet der vi ikke trenger å hente mer penger, men går "cash positive", sier Sæthre.

Han sier løsningen de har bygget etter planen skal lisensieres ut til andre, og at de er i dialog med både store norske og internasjonale telekomselskaper og andre selskaper som kan tenkes å ha bruk for GPS-sporingsteknologi for NB-IoT og LTE-M.

– Andre startups som skal inn i dette markedet og for eksempel lage løsninger for GPS-sporing, kan ta utgangspunkt i maskinvaren vi har i dag. Da vil de spare tid og utviklingskostnader, sier Sæthre.

Morten Sæthre sjekker at produksjonen går riktig for seg. 📸: Lilbit
Morten Sæthre sjekker at produksjonen går riktig for seg. 📸: Lilbit Vis mer

Selv om Lilbit selv bruker løsningen til å spore kjæledyr, er det nemlig ingenting i veien for å bruke den til å bygge helt andre tjenester eller produkter.

– Og med statemaskiner kan man bestemme selv akkurat hvordan den skal fungere, avslutter Sætre.