I am an experienced software engineer with a solid understanding of
hardware. I was born in 1971 and have been interested in computers
for as long as I can remember. I've done everything from J2EE
services to boot loaders in assembly language, so I can work with just
about anything, although the thing I'm really good at is software on
embedded systems. I don't design hardware professionally, but I
understand it well and often work closely with hardware engineers.
The kind of projects I like to work on are fairly short ones, some
lasting just a few days, where I either act as a technical advisor or
where the customer has a tricky hardware/software problem and need
immediate help with troubleshooting; other projects lasting up to a
few months, typically to bring up Linux on a new hardware platform,
where I would work on the boot process and device support.
Skills:
- Fluent in Swedish and English, both spoken and written.
- Experienced developer in C, C++, Java, various assembly
languages and Python. Also knows basic Perl, lisp, Matlab,
Verilog, VHDL, HTML and a lot of other languages, but the
languages of choice are C and Python.
- Experience with embedded and real time systems based on Linux,
Android, various embedded RTOSes such as Nucleus, and also very
small systems on micro-controllers such as the Microchip PIC
processor and the Intel 8051.
- Good networking skills with experience of TCP/IP, DECnet, IPX,
AppleTalk, LonWorks and higher level networking services such as
HTTP and SNMP
- Experienced in security using PGP, OpenSSL, JSSE and
BouncyCastle.
- Expert in programming close to the hardware. Have a good
understanding of hardware issues although I usually don't build
hardware myself.
- Experience of working in different countries and cultures. I
have worked and lived for four months each in Singapore, UK and
China, have commuted weekly to Norway for about two years, and
have been on business trips for a few weeks each in the United
States, Denmark and Taipei.
- Much experience of working close with customers, often on site
at the customer and in many countries.
- Worked for a GPS company for five years, so know quite a lot
about GPS, both applications related to GPS and the internals of a
GPS receiver.
- One of my biggest strengths is that I have the ability to look
at new technology and learn it very quickly.
Some projects I've been involved with are:
- Hobby projects
- Too many to list all here, but I'm very interested in both
software and hardware and spend much time on learning new things.
Some of my hobby projects are a firmware for the EZ-USB and FX2
micro-controllers from Cypress, a 250MSample/s oscilloscope, and
custom Linux firmwares for many different devices such as a PDA
previously running Windows CE and a LG TV set. More documentation
on some of my projects can be found
at http://zoo.weinigel.se/trac/public.
- 2010-2011: SiRFStar IV
- In 2009 CSR acquired the GPS company SiRF, so quite naturally
I have worked with the SiRFStar IV products porting the
SiRFStar IV host software to different platforms. Most of
this work was done in China working on Chinese mobile phones with
custom RTOSes.
- 2007-2011: CSR BC7830, a GPS capable Bluetooth chip
- When CSR acquired Nordnav in 2007, they wanted to build a GPS
capable Bluetooth chip which be called BC7830. I spent four
months in Cambridge UK at the CSR headquarters working on the
GPS parts of the chip firmware and on the chip-to-host interface
making it possible to demo the BC7830 Software GPS at the Mobile
World Congress in February of 2008. Since then I have worked on
porting the GPS drivers and host software to many different
platforms; most porting work has been on Linux and Android but I
have also spent a few months in China working on Chinese mobile
phones with custom RTOSes.
- 2005: A Linux port to the Acer N30 PDA
- I went and bought myself an Acer N30 PDA. It took me about
two weeks to get Linux booting on it, and about a month to really
make it useful. A couple of months later during my Christmas
vacation, I finally sat down and figured out how to do proper
power savings, so by early 2006, I had a PDA which could do
everything Windows CE could do on that device. Some people
(LeTux) actually started selling Acer N30s with Linux
preinstalled, and that effort was partially based on my work.
- 2002 - 2006: Solid AB (now known as ASSA ABLOY Shared Technologies)
- The SOLICARD ARX project. ARX is an access control system
using the internet for communications. I started working on the
hardware support, boot loader (RedBoot/uCos and PPCBoot/U-Boot)
and Linux port for the Axis ETRAX based board used in their local
control units (LCU). After that I started working on the
communications with the server designing and implementing a large
part the PKI infrastructure (mostly using OpenSSL and JSSE) used
in ARX. I got more and more involved with the server side of the
system, working with the business logic written in C++ (Microsoft
Visual Studio 6) and Java using a SQL database (SAP/DB) for
storage. Since the system uses multiple implementation languages
Corba and ONC RPC are used for inter-module communications. Later
versions of the server software was implemented in Java, so I have
also worked much with Java, Jetty, JSP. As the system has gotten
closer to production I've also designed and built the hardware and
software used for testing and programming of the LCU during
manufacturing. I've also done a few debugging sessions finding
and fixing a couple of really nasty problems in Solids proximity
card readers, working with the Microchip PIC family of processors,
both in PIC assembly language and in HiTech C.
- 2001 - 2002: The "Nano Computer"
- Working on the design of an embedded computer based on the
National Semiconductor Geode SC2200 processor. I've been
responsible for most of the hardware specifications and have been
working in close cooperation with the people designing the
hardware, reviewing their design and making sure that it works
well with Linux. They received the first prototype board in
November 2001 and I got Linux running on it within a few days.
After that I've been working on device driver development and CE
certification for the board.
- 2000 - 2001: e2-Home
- The e2-Home Smart Home project. My main responsibilities have
been system design and device driver programming for the LonWorks
home automation network, and the creation and maintenance of the
CVS source code repository and automatic build systems.
Additionally I have been doing coding and code review of the Java
OSGi code and some network and NT service programming under
Windows NT. Finally I have designed and built the hardware and
software for two automatic test systems for the e2-Home IT box
hardware.
- 1999 - 2000: Ericsson Cordless Screen Phone HS210
- Did the port of Linux to the CeBit prototype for the Ericsson
Cordless Screen Phone at Ericsson Cyberlab in Singapore and was
also contracted for the product development of the real Cordless
Screen Phone until I started working at Utilator. See http://www.ericsson.se/ and
search for HS210.
- 1998 - 1999: Ericsson eBox
- Doing almost all the initial Linux programming for the
Ericsson eBox, doing a port of Linux to the new hardware, writing
device drivers (for the LonWorks and ISDN), and as a technical
adviser. See http://www.ericsson.se/ and
search for ebox.
- 1998: FISH, a SSH client for OpenVMS
- I did a port of TopGun SSH (a SSH client for the Palm Pilot)
to OpenVMS. Richard Levitte quickly took over the development.
See http://www.free.lp.se/fish/.
- 1996 - 1999: Mydata Automation AB
- Moving all software on Mydata Automation's TP-machines, a
surface mount assembly robot, to Linux, doing work at the hardware
driver lever, system design level and applications programming.
See http://www.mydata.se for
more information.
History:
- 2002 - Present: Weinigel Ingenjörsbyrå AB
- Started a new company, Weinigel Ingenjörsbyrå AB, to work as a
free-lance consultant. In 2006 I decided to become an employee
again, at a previous customer, Nordnav. Weinigel AB still existed
as a company but was in hibernation. In 2011 CSR decided to close
the Stockholm office so Weinigel AB came out of hibernation
again.
- 2017: Employee at Nokia
- I worked as a contractor for ETA Devices Inc in Cambridge, MA
during 2015 and 2106. ETA was acquired by Nokia at the end of
2016 and as a part of the acquisition I was retained as an
employee by Nokia for one year.
- 2006 - 2011: Employee at Nordnav Technologies AB, CSR
(Cambridge Silicon Radio), and SiRF
- Started working for Nordnav Technologies AB, which was then
acquired by CSR at the beginning of 2007. I was hired to be an
application engineer working with embedded systems at customers,
but have so far spent most of my time working on the
infrastructure around the software GPS receiver that Nordnav has
created. From 2009 and onwards I have been working much more with
customers, mostly in Asia. Most of the time I write C code, but a
lot of tools and infrastructure around the receiver are written in
Python, shell script and Makefile. CSR also acquired the GPS
company SiRF in 2009, so I also spent quite some time working on
the SiRF hardware GPS receivers.
- 2000 - 2001: Employed at Nano Systems AB
- Working for Nano Systems AB. Mostly working in-house with the
design of the Nano Computer, and as a consultant at Ericsson and
e2-Home.
- 2000: Employed at Utilator AB
- Started working for Utilator AB in May 2000 and worked mostly
as a consultant at Ericsson until I decided to join a spin off
company in November 2000.
- 1995 - 2000: Employed at Signum Support
- Started work for Signum Support (now Cendio Systems), a
company specializing in free software, mostly as a consultant
specializing in Linux and embedded systems, but early on I did
some Microsoft Windows programming in everything from Visual Basic
and Microsoft Access to C++/MFC.
- 1993 - 1995: Studies at Linköping Institute of
Technology
- Studied Electrical Engineering at Linköping Institute of
Technology and that's where I first encountered Linux in late
1993. I was also a member of an academic computer club named
Ctrl-C, where I worked a lot with OpenVMS on VAXen. Besides that
I also administered a Novell Netware network for a student
computer hall.
- 1992 - 1993: Military Service
- Did my military service as a radio service technician.
- 1992 - 1993: Windows programmer at Vattenfall
AB
- Worked part time as a Windows programmer for Vattenfall
AB.
- 1991 - 1992: Part time work at Forsmark
- Worked part time as a system administrator of a Norsk Data
Nord 500 system and a Unix/SunOS system.
- 1990 - 1992: Studies at Formarks Skola
- Studied Computer Science at a vocational college at the
Forsmark Nuclear Power plant, resulting in an engineering degree
(a Swedish gymnasieingenjör, teknisk 4-årig).
- 1989 - 1990: Exchange student in USA
- Studied as an exchange student in Birmingham, Alabama,
USA.
- 1971 - 1989: Early life in Stockholm
- Born and raised in Stockholm where I also went to grade school
and high school.
|