maskinlæring · maskinvare · systemer

Andreas Lindeman

Maskinlæringsingeniør med maskinvarebakgrunn. 14+ år erfaring med produksjonssystemer og hobbyprosjekter. Vekt på ren kode og solide systemer.

Jeg bygger

ML-ingeniør @ Infinigrid · prognoser for strømnettet
studie
M.Sc. Elektroniske systemer · NTNU · 2024–2026
verktøy
FPGA-er · op-amp-er · CAD · CNN-er · RAG
sted
63°25′ N · 10°23′ Ø · Trondheim, NO
selected work
01

Høydepunkter

Tre å se på først.

i drift nå 2026 · pågående

Infinigrid

Produksjons-ML for det norske strømnettet. Prognosemodeller som overvåker det elektriske systemet og varsler om risiko før den slår inn. Tidsserier i nettskala, satt i drift.

  • tidsserier
  • produksjons-ML
  • energi
  • PyTorch
forrige store prosjekt 2025 · levert

Hydro Aluminium

Industriell optimering for en av verdens største aluminiumsprodusenter. En blanding av maskinlæring, klassisk optimering og den anvendte matematikken som binder de to sammen.

  • optimering
  • ML
  • industri
NDA · detaljer på forespørsel
under trening nå 2026 · under arbeid

ViT + LoRA

Tilpasser en forhåndstrent vision transformer til en ny oppgave med low-rank-adaptere i attention-lagene. Halve poenget er å få det til å virke, andre halvparten en unnskyldning for å skjønne hvorfor det virker.

  • ViT
  • LoRA
  • PyTorch
verktøy

Verktøyene jeg jobber i, gruppert etter dybde.

Ekspert i

  • Python Python
  • PyTorch PyTorch
  • TensorFlow TensorFlow
  • C++ C++
  • Fusion 360 Fusion 360
  • C#
  • pandas pandas
  • NumPy NumPy
  • CUDA CUDA
  • OpenCV OpenCV
  • SQL
  • Git Git
  • Hugging Face Hugging Face
  • Docker Docker
Også erfaren med Vis alle 27 Skjul
  • JavaScript JavaScript
  • TypeScript TypeScript
  • Go Go
  • scikit-learn scikit-learn
  • Databricks Databricks
  • Spark Spark
  • Node.js Node.js
  • Nuxt Nuxt
  • Vue Vue
  • Astro Astro
  • Flask Flask
  • FastAPI FastAPI
  • Unity Unity
  • Blender Blender
  • ESP32 ESP32
  • Arduino Arduino
  • Raspberry Pi Raspberry Pi
  • FPGA
  • KiCad KiCad
  • SolidWorks
  • Google Cloud Google Cloud
  • DigitalOcean DigitalOcean
  • Cloudflare Cloudflare
  • Arch Linux Arch Linux
  • Ubuntu Ubuntu
  • Debian Debian
  • Kali Linux Kali Linux
utforsk

Prøv det selv

Noen du kan teste med en gang, og resten gruppert etter tema.

KI

Flere KI-prosjekter 9 prosjekter

Spill

Flere spill 3 prosjekter

Maskinvare

Mer maskinvare 19 prosjekter
02

Tidslinje

Prosjekter jeg har bygget og milepæler underveis, fra 2002 til i dag.

Størrelse = betydning. Trykk på et prosjekt for dypdykket.

Alle prosjekter

  1. Minecraft-server Drev en åpen Minecraft-server sammen med faren min, port-forwardet hjemmefra. Første møte med kommandosyntaks, serveroppetid, og mesteparten av engelsken jeg kunne før skolen lærte meg resten.
  2. Kodekurs Første kodekurs på skolen, ni år gammel. Visuell programmering i Scratch, som var en skuffelse for ni-åringen som allerede hadde drevet med batch-skript, men en nyttig leksjon i hvordan tilgivende syntaks slipper ideene frem.
  3. Første .exe Første ordentlige Python-program kompilert til .exe. En roterende ASCII-hodeskalle, elleve år gammel.
  4. Kodelærer Seks måneder som barneinstruktør i Lær Kidsa Koding sitt AKS-program, der jeg lærte fjerdeklassinger i Oslo-skolen Scratch. Riktig alder til å oppdage hvor mye ordet 'opplagt' egentlig skjuler.
  5. første 3D-printer Første byggesett-3D-printer, tretten år gammel. Inngangsporten til maskinvare: papirtynne bed-nivelleringer, slicing på PC-en, og oppdagelsen av at mekaniske bugs kaster filament rett i veggen.
  6. Første nevralnett Første selvlærende dype nevralnett. Spilte nettleserspillet Slope ut fra linjer trukket ut av skjermbildet.
  7. 3D-printer v2 Andre byggesett-printeren, bygget sammen med en venn. Større ramme, kraftigere extruder, automatisk bed-nivellering, og dusinvis av benchies i vinduskarmen mens jeg trimmet inn hvert nye filament.
  8. Hexaglow Var med å grunnlegge en ungdomsbedrift som solgte konfigurerbare lysende veggpaneler. Jeg skrev Unity/C#-appen som styrte dem.
  9. LEGO-plotter Python på en LEGO Mindstorms-kloss styrte en to-akset tegnearm med pen-lift. Musestyrt og overraskende nøyaktig.
  10. PLED Andre ungdomsbedrift. Spesiallaget LED-belysning med et spekter tilpasset døgnrytmen: varmere om kvelden, kjøligere om dagen, etter en plan brukeren selv kunne overstyre.
  11. Sikkerhetsforskning Et år dypt inne i Windows-internals, eksternt skrivebord og autentiseringssystemer. Formende.
  12. Nettverksdypdykk Et år med å lære meg selv hvordan nettverk egentlig fungerer. Captive portals, DNS, traffic shaping, autentisering.
  13. Fargepolygraf En fargepolygraf trent på 20 000 spørreundersøkelsesvar. Gjettet alder, kjønn og humør basert kun på hvilke fargeflater folk trykket på.
  14. Panasound-internship Første industrijobb. Sommerintern hos Panasound, en norsk lyd-startup. Go på backenden, Nuxt på frontenden, og første gang koden min måtte overleve at en annen ingeniør leste den.
  15. Lyd-Flappy Flappy Bird styrt av stemmen. Lydnivået fra mikrofonen ble omsatt til vertikal hastighet. Et kort game-jam-prosjekt fra Torshus, ubrukelig på bussen.
  16. Taktikkblober Mobilspill fra game jam, inspirert av den russiske varianten av tre-på-rad. Seks blober per spiller, der større størrelser slukter de mindre. Brettet ser ut til å være én ting, men er i hemmelighet noe annet.
  17. ASCII-shader C++-spill med en CUDA-basert ASCII-shader som plukket riktig glyff for hver pikselrute.
  18. Blunkeskyter Python-skytespill der blunk fanget opp av webkameraet flytter deg mellom to fargedimensjoner.
  19. Minecraft-3D-printer Konverterte hvilken som helst 3D-modell (inkludert farger og skanninger) til et sett genererte Minecraft-kommandoer som bygde modellen i spillet.
  20. Shape-shift-miner Python-spill om gruvedrift og oppgraderinger der selve OS-vinduet er en del av spillet. Kjøp riktige oppgraderinger, og vinduet sprenger ut nye rektangler i rare vinkler, slik at spillflaten ender opp i en form ingen spill burde ha.
  21. Foredrag om datasikkerhet Et bidrag til lokalsamfunnet: et foredrag på en nærliggende videregående skole om å være trygg på nett, om hvilke data du lekker, hvordan de samles inn, og hvordan du unngår å bli lurt.
  22. Tegneplotter En ødelagt 3D-printer ble til en penn-plotter for tegninger laget i én sammenhengende linje. PC-styrt, langsom, hypnotisk.
  23. KI-innholdskanaler Automatisert pipeline som skrapte topp-innhold fra Reddit og publiserte til YouTube, Instagram og TikTok.
  24. Oda, norsk taleassistent Norsk taleassistent bygget fra bunnen av på en Pi Zero W. Egen RNN-basert wake-word trent på 30 000 klipp, Whisper STT, offline LLM, og et sensornett av ESP32-er.
  25. Ladestasjon i sofaen Fire USB-C-porter bygget inn i stuesofaen i et delt studentkollektiv. En 24 V DC-forsyning dimensjonert for full effekt på alle fire, i et 3D-printet hus designet i Fusion 360 med én av/på-bryter.
  26. En sang gjemt i en frosk En egenlaget komprimeringsalgoritme som presset hele ASCII-versjonen av en viss sang inn i de laveste bitene i ett enkelt froskebilde. Et bittelite dekomprimeringsskript leser de skjulte bitene rett ut av bildet og spiller resultatet av som en levende terminalanimasjon.
  27. Sinusgenerator ESP32-styrt signalnivågenerator: analogt forsterkertrinn, DAC styrt fra programvare, og en potmeter-justert ratt. Cirka 26 dB forsterkning, cirka 21 dB demping, hot loop på én linje.
  28. elektra.io Designet og bygget nettsiden til studentforeningen Elektra fra bunnen av.
  29. El-bil-detektor Avgjør om en bil er elektrisk. YOLOv8 detekterer skiltet, en egentrent CNN leser det, og oppslag mot Statens vegvesen gir fasiten.
  30. Frekvensdobler Analog frekvensdobler. Diode som ulineæritet, to kaskadekoblede LC-båndpassfiltre med en op-amp-buffer mellom seg. SDR cirka 21 dB ved 2525 til 5050 Hz.
  31. Teknisk Komité Grunnla og leder fortsatt teknisk komité i Elektra, studentforeningen for elektronikkstudenter ved NTNU. Vi drifter elektra.io og leverer de interne verktøyene resten av foreningen bruker.
  32. Append Consulting Atten måneder hos Append, et lite KI-konsulentselskap i Oslo. Leverte fire produksjons-ML-prosjekter for kunder i norsk offentlig sektor og industri. De fleste dagene var modellen den minste delen av jobben.
  33. Tesla-setesensor til smart belysning Koblet setesensoren fra et Tesla-sete (gjenbrukt som kontorstol) til en ESP32. Når jeg setter meg, blir rommet rødt.
  34. Tonefjerner En oppgave i analog elektronikk ba om en båndsperrekrets som skulle fjerne én enkelt tone fra et opptak. Jeg løste det i programvare med spektrogrammer i stedet. Riktig type juks, avhengig av hvem du spør.
  35. Trafikklys Et ekte trafikklys ombygget med Raspberry Pi, Flask-basert webgrensesnitt og en lydreaktiv modus. Bass blir rødt, diskant blir grønt. Festmodusen ble den egentlige hovedfunksjonen.
  36. 4G-RC-bil RC-bil som streamer to kamerakilder over 4G, med en egen UDP-hole-punching-protokoll for lavlatens P2P-video uten behov for statiske IP-er.
  37. Anti-alias-filter Anti-alias-filter av 6. orden, Butterworth-type, for en 3 kHz ADC. Tre kaskadekoblede Sallen-Key-trinn, med rare kapasitansverdier satt sammen av standardkomponenter i parallell.
  38. Analog buffer BC547-emitterfølger som buffer mellom en 5,6 kΩ kilde og en 680 Ω last. Designet, biaset og justert med potmeter til den traff den beregnede forsterkningen på 90 % ved 1 kHz.
  39. FPGA-terning Sjuledet terning på en Lattice ICE40 FPGA. Klokken styres av en knapp, 3-bits teller som ruller fra 1 til 6, og LED-logikk utledet fra en sannhetstabell. Første hands-on FPGA-prosjekt, bygget i IceStudio.
  40. Frekvensdobler v2 Andre forsøk på den analoge frekvensdobleren. Samme topologi, mye mer nøye utført. Innmålte spoler, håndsatte kondensatorverdier, og Analog Discovery brukt til SDR-estimatet. SDR cirka 26,7 dB ved 3725 til 7450 Hz.
  41. ML-konkurranse Designet og ledet en intern ML-konkurranse i Kaggle-stil mellom NTNU-studenter og Hydro-ingeniører. Skrev oppgaven, klargjorde datasettet, satte scoremetrikken, og lærte at metrikken er hele prosjektet.
  42. FPGA-støyfilter Hvit støy generert i FPGA (LFSR), formet av et aktivt Delyiannis-Friend-båndpassfilter til en tonal lyd rundt 920 Hz. Digital pseudo-tilfeldig kilde, analog båndbegrenser, hørbart resultat.
  43. Omega-klokke En klokke modifisert med LED-er og en ESP32, laget som vertskapsgave til en studentforeningsfest. Bygget på en dag.
  44. Operasjonsforsterker Operasjonsforsterker bygget av diskrete BC547/BC557-transistorer: differensialpar, strømspeil, emitterfølger på utgangen. Karakterisert i åpen sløyfe (A cirka 400) og med ti gangers negativ tilbakekobling (A cirka 9,7, THD under 0,3 %).
  45. Ligmax Spesialbygd båtplattform med full sensorpakke, doble kameraer, bøyedeteksjon, egendesignet skrog og integrert elektronikk.
  46. Infinigrid Bygger KI som overvåker strømnettet og forutser risiko.
  47. ViT + LoRA Tilpasser en forhåndstrent vision transformer til en ny oppgave med LoRA, der low-rank-adaptere settes inn i attention-lagene. Halvparten å få det til å virke, halvparten en unnskyldning for å faktisk forstå hvorfor det virker.

Tidslinjen viser bare noen av prosjektene jeg har gjort ferdig. Som de fleste ingeniører synes jeg det er morsommere å starte noe nytt enn å fullføre det gamle, og mye av det jeg kan, sitter i prosjektene som aldri kom helt i mål.

FPGA-designet jeg fikk syntetisert, men aldri testet på maskinvare. Lydpluginen jeg la fra meg samme sekund jeg knakk koden. Modellen jeg trente helt til loss-kurven fortalte meg det jeg trengte å vite, før jeg gikk videre. Dette er ikke bortkastet tid. Det er eksperimentene som lærte meg teknikkene jeg senere brukte i prosjektene som faktisk ble levert.

  • ·maskinvareprototyper som samler støv
  • ·halvtrente modeller
  • ·forlatte DSP-eksperimenter
  • ·helgeprosjekter som lærte meg et nytt bibliotek
  • ·kode som virket, men ikke var verdt å sende ut
03

Notater

Hvem, hva og hvorfor de to sidene passer sammen.

Andreas Lindeman
Trondheim · 63°N

Jeg begynte å kode da jeg var ni. Faren min er programvareutvikler og ga det videre tidlig. Det første jeg husker at jeg ble irritert over, var en programmeringstime som viste seg å være dra-og-slipp-blokker i stedet for et ekte tastatur.

I dag jobber jeg på tre fronter. Maskinlæring for norsk offentlig sektor, industri, og nå Infinigrid, et oppstartsselskap som bygger prognosemodeller for strømnettet. Full-stack slipt i Go og Nuxt: backender, dashbord, datapipelines. Maskinvare: loddede analoge front-ender, FPGA-filtre, og en byggesett-3D-printer som til slutt tegnet sitt eget portrett.

De to sidene henger sammen. CNN-et som klassifiserer et analogt signal, er bare så godt som op-amp-en foran ADC-en. FPGA-et som filtrerer en transduser, betyr lite hvis det ikke finnes en pipeline videre nedstrøms. Det er akkurat i det grensesnittet jeg liker å jobbe.

04

Verktøy

Verktøyene sortert etter hvor de sitter i kjeden.

  1. 01

    Sense

    Fra fysisk signal til rene data.

    • Op-amp-er · LM358, OPAx-klasse
    • FPGA-er · digitale filtre, terninger
    • PCB-er · lodding · analoge front-ender
    • Pandas · PySpark
    • Databricks-pipelines
  2. 02

    Modell

    Der læringen skjer.

    • PyTorch · daglig
    • TensorFlow · arvet + Keras
    • Egne CNN-er · YOLOv8
    • Embeddings · RAG
    • Tidsserieprognoser
  3. 03

    Bygg

    Backender, infrastruktur, den uglamorøse ryggraden.

    • Python · C++ · Go
    • Flask · PostgreSQL
    • Docker · AWS
    • Git · CI
    • SQL · skjemadesign
  4. 04

    Lever

    Flaten brukeren faktisk møter.

    • Nuxt · Vue
    • TypeScript · HTML/CSS
    • Unity (C#) · Swift
    • Fusion 360 · Blender
    • 3D-printing · CAD

dykker dypere i nå prognoser i nettskalakausal inferensreguleringssystemer

05

Kontakt

Innboksen er åpen.

Tar gjerne en prat om forskning, maskinvare eller ML i nettskala, særlig der signalkjeden møter modellen.