EnglishSvenska

CV

Download CV in PDF format

Competences:

  • Programming (C, Matlab, Simulink and, above all, Python and PHP).
  • Databases (and most experience in MySQL).
  • Circuit board (PCB) design and electronics in general
  • Mechanical CAD
  • Prototype design
  • Wireless communication
  • Sensors, signal processing, filtering and data collection
  • Automated testing, automated building of software and continues integration (CI) mainly with Jenkins

Contact information

Sebastian Nilsson

Address: Karl Gustavsgatan 45, 41131 Gothenburg
Email: Sebastian at treplex.se

Education

M.sc.. in System, control and mechatronics, Chalmers University of technology, Gothenburg. See completion letter including grades.
Bachelor in Automation and Mechatronics, Chalmers University of technology, Gothenburg
ABB Industrial upper secondary school, Västerås, 3300 points with 19,3 in avarage.

Work experience

Software Design Engineer at CPAC Systems AB, Gothenburg

June 2014 - currently employed

Mainly working with marine control electronics (Volvo Penta Electronic Vessel Control and Yamaha Helm Master).

Projects at CPAC Systems

Late 2016 - now: Developing a new product. I am working both with high level app development for iOS and Android, as well as low-level embedded programming. The app development is done using Xamarin C#, and the embedded programming mostly consists of C writing and RTOS configurations.

Late 2016 - now: Automated build environment. I automated a large portion of the build environment for CPACs marine segment. Software releases used to take a day to build, package, refactor, document and archive. With the help of python scripts and Jenkins Continues integration (CI), the same job can now be done in about 30 minutes. Releases are then sent to be automatically tested in HIL rigs.

Late 2016: Prototyping new application features for Volvo Penta. Consisted of system engineering, software programming, simulating boat tests and performing real boat tests in the end of the project.

Mid 2016: During boat tests I spent too much time analyzing CAN bus log files so I made a tool in Python to automatically generate test reports with log files as input. For example I could feed the script data from a day of testing and in a matter of minutes it would produce plots containing the interesting parts of the data, (like position of the boat on a map based on GPS data, or RPM changes over time). Of course being able to plot data is nothing new, but what the tool does is automate report writing and evaluation of boat tests.

Mid 2015 - Late 2016: System design, control theory and writing embedded C code for outboard boats involving autonomous functions. I was part of the team developing control algorithms for continuously adjusting drive angles and propulsion forces to move the boat in a desired way.

Mid 2015 - Late 2016: Boat simulator for testing marine control software. Since most of the software needs to be tested in boats I made a simple boat simulator for testing software early in the development. I ended up using the Unity3D engine for generating computer graphics, C# code for vehicle dynamic simulations and python scripts for intefacing between the hardware (CAN network) and the simulation. The boat simulator is not overly complex but it helped me test control theory ideas and code before doing a proper boat test.

Mid 2016: Patentability work. I am inventor in a patent pending innovation for Volvo's portfolio, and I am also co-inventor on two pending patents with Yamaha. All three patents are filed but not yet public documents.

Mid 2014: Writing embedded C code for gateways and interfaces. One example is a dongle that makes third party autopilots communicate with the steering control unit in a boat. Another example is a dongle to interface between a NMEA2000 bus (external bus used mostly for connecting sensors) and the internal proprietary bus in the vessel control system.

June 2014 - Late 2014: Writing software and configuring hardware for automatic testing of Electronic Control Units. Basically connecting the essential control units for running a boat to the same system, and writing automatic test cases that perform hardware-in-the-loop (HIL) tests.

Late 2014: I made a tool that generates CAN network signal databases for the complete marine vessel control system. A excel-sheet is used as input where signal and CAN frame declarations are declared and linked. As soon as this excel file is pushed to the central version control (SVN), a Python-script will generate multiple CAN database files in various formats based on the excel file. Proved to be a quite valueable tool.

Early 2014: I made a desktop application tool that parses thousands of maintenance reports (generated when Volvo diagnostic tool is connected). Parsed reports are put in a searchable database, and with the tool we could make data driven decisions on which faults to improve upon.

January 2014 - June 2014 (not including lead time at the university): My project partner and I made a proof of concept system for a remote control to be able to drive a truck, from outside of the truck. The project included investigating wireless technology, safety aspects, designing and building PCBs, designing and building mechanics for the remote control device, systemizing the whole system and writing embedded code. Simulink was used to glue it all together. More information.

Treplex (Self employed)

2007 - currently employed (but only on small and chosen projects)

Private enterprise with Treplex. I started with design, but with time moved myself closer to assignments in programming and database development. Since I got the employment at Cpac Systems I am only taking on smaller projects, but while studying at university this private enterprise was my primary source of income.

Miseto AB

April 2011 - August 2012

It started with an idea for better web analytics tool and together with two other people we started and ran Miseto. Experiences that I got as an entrepreneur includes how to run a startup, priority conflicts and the importance of early positive cash flow. As an employee, I was responsible for database- and web development and learned a lot about how to build database-driven services.

Other engineering projects

Formula Student

My most valuable project experience during Chalmers was as a Project Engineer at Chalmers Formula Student where I was responsible primarly for the design and manufacture of the electrical system of the new car that Chalmers is competing with in Formula Student. The following year, I joined a management course to be one of the leaders that helped the new team to achieve the same success as we did.

Self-balancing robots and other projects

Whenever I have the time I usally try to do small engineering projects, either on mmy own or in a small team. Most of those projects are published in my blog.

Languages

Swedish: Mother tongue.

English: Fluent in speaking and writing. IELTS Band score 8/9.
https://takeielts.britishcouncil.org/find-out-about-results/understand-your-ielts-scores

Programming languages

  • Low level programming (C, some C , Arduino, assembly)
  • Object-Oriented (Java, C#)
  • Script (Python, PHP, Matlab)
  • Model-based design in Simulink
  • Web (HTML, CSS, PHP, Javascript)

Software

  • I am comfortable in OSX, Windows, Linux (Ubuntu)
  • Matlab, Simulink
  • Catia, SolidWorks
  • Eagle PCB, Altium Designer, Kicad
  • I can work with the important Adobe products for image- and photo editing.
  • Git, SVN, and version control in general.

Github profile