Kan være tilgjengelig
(Oppdatert %updatedDate %)Full stack developer
Skåne län, Sweden
Innfødt Svenska, Flytende English, Mellomliggende German
- Embedded systems
- Kotlin/Java
- 15 years+ of C++
Ferdigheter (43)
REALTIME
PROTOTYPE
Linux
GRADLE
BLUETOOTH
ARM
UART
FIRMWARE
I2C
SOFTWARE DEVELOPMENT
Unix
C++
Android
AVR
ELECTRICAL TROUBLESHOOTING
REST API
CORTEX
JavaScript
Python
FRONT-END
PIC
AngularJS
Jenkins
FRONT END DESIGN
TEACHING
SOFTWARE ENGINEER
Rails
LOADER
STRUCTURED SOFTWARE
SYMBIAN
BILINGUAL
SOAP
FIREBASE
REAL-TIME
ALLEN-BRADLEY
DSP
Ruby on Rails
iOS
BI-LINGUAL
GPRS
WINDOWS MOBILE
PLC PROGRAMMING
Ruby
Oppsummering
I'm a computer science "generalist" born in 1976. I love to tinker and create and have been part of a number of technology startups both
as founder and tech lead. I have about 15 years experience with software development, ranging from tiny, 8-bit embedded systems like AVR and PIC to Java, Big Data systems, mobile apps, Flash
and JavaScript. Lately my main focus has been on Android and
embedded Linux systems.
I'm a generalist in that I like to switch technologies, learning the latest
stuff and work in cross-technology environments, preferably small
teams where everybody has to know a bit of everything.
On the side I run a small production company, SofflossMedia,
producing various kinds of moving pictures: Music videos,
commercials, short films etc.
Arbeidserfaring
2014-03 - Nåværende
based custom board. Z-Wave and some other radio protocols implemented
mainly in Java (yes, Java rocks on ARM!). Linux Driver development for
433Mhz radio as well. Web server development (on the board) using the excellent Restlet framework. This project pretty much had everything: from drivers bitbanging io-pins to scalable cloud services, using at least 15 different
open source frameworks. Very, very fun!
I also had to certify my very own zwave stack built in Java which was pretty
challenging. The specification documents for a compliant zwave controller
device is > 200 pages and every single function needs to work in the test
house for you to get the certification.
The web frontend was made with AngularJS which was also really interesting to learn.
Java 8, Z-Wave, ActiveMQ, Restlet, AngularJS, Spring, Tomcat, ActiveMQ etc
2018-11 - Nåværende
Drumblox. Technically pretty challenging getting low-latency audio to work
flawlessly on IOS and Android, using Kotlin as the main language and audio-
engine work in C++. Also, integrations against Firebase & Facebook with authentication in a cross-platform way is not always straight forward.
http://drumblox.rocks
2019-03 - Nåværende
Helping out with certification requirement for a new Z-Wave-enabled home
automation gateway. Some Java and C hacking to bugfix and improve the Z-
Wave stack and make it pass test-house testing.
Gitlab, Jira, C, Java, Maven
2020-01 - Nåværende
2019-12 - 2020-02
Prototype development of an Android app for monitoring a smart bracelet over
Bluetooth LE, used to detect movements and accidents of elderly living in retirement homes.
Android, Kotlin, Gradle, BLE, HTTPS
2008-01 - 2019-12
embedded systems to Android to nosql and Big Data.
2018-01 - 2019-12
My job also involves managing a team of remote front-end developers in Ukraine.
Kotlin, gradle, Digital Ocean
2019-06 - 2019-09
Development of locker box services on an embedded Linux system (ARM)
used to administer delivery boxes and locker boxes over a tcp/ip network.
C++11, Rust, MQTT, Docker, Redis, Python, Jira, Gitlab, Jenkins
2016-11 - 2019-03
I built a virtual drum kit for my son, but realized that the rest of the world also
were in desperate need of one
I used the excellent nRF52 Bluetooth chip from Nordic to build this. Lots of DSP C++ code running on an OS-less ARM CPU, performing gyro integration
(sensor fusion) to figure out where the sticks are pointing. Also needed to create some mobile apps and tools for production. This is as full-stack as a
developer gets.
The sticks connects via BLE (Bluetooth LE) to an IOS or Android phone,
hence my work also included lots of tinkering with BLE on Android which is
surprisingly buggy and requires some major hacks to get stable.
I also got a deep dive into the MIDI specifications and how drum synthesizers
work (needed to build our own for Android).
2017-10 - 2018-01
measuring currents in the devices and generally cleaning up the code to make
it maintainable.
2013-09 - 2014-02
new Android mobile phones within the Power-Save team. Goal: Get that
battery to last forever!
2013-05 - 2013-09
Sintara (Cortex A8 AM335X) CPU and various external components (NAND- flash, DDR3, CAN, video, i2c etc).
My work included patching and adaptation of boot loader (u-boot), Linux
kernel and drivers to our new design as well as electrical troubleshooting and patching of prototype PCB:s and hardware design.
The system featured a number of UART:s, resistive touch screen, LCD screen,
a number of radio interfaces (Bluetooth, GPRS), Ethernet, RS485 etc and was to meet EX (Explosive environments) certifications.
2012-08 - 2013-04
Windows, Linux and embedded.
Some fun projects:
Embedded the Google V8 javascript engine in the the main server code to make it scriptable.
Exploratory work on inter-process communication using protobuf+zeromq and python.
2011-04 - 2012-07
Contract project.
Development of some core Android systems for in-device diagnostics. Apps and framework. Linux and Android.
Database development for visualization systems, using MySQL and NOSQL
database MongoDB. Web front-end using the Java Play framework (similar to Ruby on Rails), AJAX, JavaScript, REST.
Development of QlikView applications and corresponding "data-crunching"
back-end software, Postgresql, Python and MySQL.
2011-05 - 2011-05
Contract project.
Teaching a basic Python course and meanwhile getting hooked on Python!
2010-11 - 2011-03
Development mobile apps for Android and Nokia Qt including an enterprise
application for 3 (network operator) in Denmark and a bar-code scanning app for Nokia Qt.
2010-03 - 2010-09
PLC programming.
Image analysis.
2007-12 - 2010-03
production series.
My role: Developer of embedded systems.
Low level programming and system design of embedded real-time systems
(including FreeRTOS). Mainly ARM7 , MSP430 and AVR8 architectures. C / C
+ +, Java.
Also some electronics design and PCB layout in Altium Designer.
Projects included:
METERCAM (3 months in 2007)
Software implementation (in C++) for a small embedded system used to take
pictures of electricity meters periodically, save them to flash and transmit them through
GPRS to a server. The requirements for the system included that it must run
on
batteries alone for at least 3 years. Thus power saving was a big issue.
Technology used: MSP430, GPRS modem (Telit), photo camera (with rs232 interface and jpeg-compression)
DEVELOPMENT OF EXCAVATOR LOAD WEIGHING SYSTEM. (12 months in 2008)
Design and bugfixing (both hard- and software) of a software for measuring
load on hydraulic excavators.
My work included:
Algorithms for calculating the shovel load from a series of hydraulic pressure
values.
Menu system for an LCD display.
Locating of hardware flaws.
Technology used:
Atmel ARM7 controller, running FreeRTOS. GCC for ARM.
USER INTERFACE FOR NAUTIC SATELLITE DISH. (3 months in 2009)
Development of a graphical user interface on a color TFT-display for
controlling a satellite dish system used on boats. The system uses gyros and compass to compensate, in realtime, for movements in the ship (waves, wind),
making the dish point at the satellite at all times.
Technology used:
ARM9 cpu, TFT-display, display controller/driver. GCC C++.
2007-02 - 2007-11
Implementation of software that manages Anoto (www.anoto.com) digital pens,
sending their data over the cellular network. My task was to port an existing
software from Java (J2ME) to Symbian C + + and Windows Mobile.
2006-04 - 2007-03
implementation of the phonebook database and SyncML (synchronization between the phone's databases such as address book and PC / Server)
2004-09 - 2006-02
ARM7 development in OS-less C.
Expansion of the company's proprietary operating systems flash file system on the Hitachi H8-platform.
Design of electronics (in combination with micro-controllers).
Design of navigation systems and geographic mapping systems in Java.
Akademisk bakgrunn
1998-01 - 2004-01
1998-01 - 2003-01