©	Burkhard	Stubert,	2015
Expertise	and	Project	References
Burkhard	Stubert	
Independent	Software	Craftsman	
burkhard.stubert@embeddeduse.com
20/01/15
1
©	Burkhard	Stubert,	2015
About	Me
• Selected	projects	
– In-vehicle	infotainment	systems	for	
American	and	German	tier-1	supplier	
– Driver	terminal	for	Krone	forage	
harvester	
– In-flight	entertainment	system	
– Internet	radio	on	16-bit	
microcontroller	
– VoIP-WAN	handset	
• ~20	years	of	developing	embedded,	
mobile	and	desktop	systems	
– Mainly	with	QML,	Qt,	C/C++	
– Architecture,	development,	testing,	
coaching,	project	leader	
– Agile	projects	(Scrum,	XP,	TDD)	
• Previous	companies	
– Nokia,	Cambridge	Consultants,	
Infineon,	Siemens
12/12/14
2
Mail:	burkhard.stubert@embeddeduse.com	
Web:	www.embeddeduse.com	
Mobile:	+49	176	721	433	16
Burkhard	Stubert	
Independent	Software	Craftsman
©	Burkhard	Stubert,	2015
Krone:	Driver	Terminal	
for	BiGX	Forage	Harvester	
20/01/15
3
©	Burkhard	Stubert,	2014
Krone:	Driver	Terminal	(2)	
Project	Schedule
• 06/2012:	Project	start	
• 08/2012:	First	prototype	in	corn	harvest	
– Qt	4.8	on	Windows	XP	and	Intel	Atom	
• 02/2013:	Usability	test	with	drivers	
– Qt	5.1	on	Linux	and	ARM	Cortex-A8	
• 05/2013:	Alpha	in	grass	harvest	
• 08/2013:	Beta	in	corn	harvest	
• 11/2013:	Shown	at	Agritechnica	
• 04/2014:	Product	release
26/11/14
4
Old
New
All	done	with	3	SW	developers		
and	1	UI	designer!
My	roles:	lead	developer,	

architect,	coach
©	Burkhard	Stubert,	2015
Krone:	Driver	Terminal	(3)	
System	Architecture	&	Features
• Features	
– Field,	road,	maintenance	
mode	
– Day,	night	mode	
– Multiple	languages	
– Metric,	imperial	units	
– User	input	with	both	touch	
and	jog	wheel	
– Access	to	engine	
parameters	for	fine-tuning	
– On-board	diagnosis	
– Crop	area	management	
(ISOXML	export)
20/01/15
5
Linux
Terminal	CCPilot	XS
Freescale	i.Mx53	
OpenGL	ES2	
RAM:	1GB,	Flash:	4GB
Display:	10”,	1024x768	
Resistive	Touch	
4x	CAN,	USB,	A/V,	Eth
Business	Logic	in	Qt/C++
250	classes	
Incl.	20	list	models
30	ECU	functions	
200+	CAN	messages	per	sec
GUI	in	QML
150	Screens	
50	QML	components
©	Burkhard	Stubert,	2015
Infotainment	System	for	US	Tier-1
• Customer:	Indian	tier-2	and	US	tier-1	supplier	
• Project	duration:	10	months	
• My	roles:	architect,	lead	developer,	coach,	product	
owner	
• Technical	specification	
– 10+	applications	like	Radio,	Media,	Phone,	Settings,	Climate	
implemented	in	QML	(GUI)	and	Qt/C++	(business	logic)	
– Proprietary	inter-process	communication	between	HMI	apps	
and	their	backend	services	
– Platform:	Screen,	OpenGL,	QNX,	Texas	Instruments	Jacinto	
5/6,	multi-touch,	3	display	sizes/resolutions,	hard	keys
20/01/15
6
©	Burkhard	Stubert,	2015
Infotainment	System	for	US	Tier-1	(2)
• My	tasks	
– Developed	an	HMI	platform	enabling	developers	to		build	apps	like	
Radio,	Media,	Phone	quickly	and	easily	
– Created	library	of	QML	widgets	like	buttons,	status	and	app	bars,	
list	views,	dial	pads,	keyboards,	scroll	bars,	alert	dialogs	
– HMI	adapts	to	3	different	screen	resolutions,	where	one	is	
structurally	totally	different	
– HMI	adapts	dynamically	to	themes	of	different	car	brands	(e.g.,	
images,	colours)	
– HMI	adapts	dynamically	to	different	languages	including	right-to-
left	languages	
– Showed	correct	use	of	HMI	platform	by	implementing	reference	
apps	for	Radio	and	Settings
20/01/15
7
©	Burkhard	Stubert,	2015
Infotainment	System	for	US	Tier-1	(3)
• My	tasks	(cont’d)	
– Developed	communication	architecture	for	apps	and	
services	abstracting	whether	apps	and	services	run	in	
different	processes/threads	or	not	
– Makes	it	easy	to	switch	between	different	means	
of	communication	like	DBUS,	PPS,	proprietary	IPC,	
Qt	signals	and	slots	-	no	matter	whether	
asynchronous	or	not	
– Ensures	that	GUI	and	unit	testing	independent	of	
timing
20/01/15
8
©	Burkhard	Stubert,	2015
Infotainment	System	for	US	Tier-1	(4)
• My	tasks	(cont’d)	
– Ramped	up	team	of	50	developers	for	tier-2	in	India	
– Started	with	custom-tailored	2-day	QML/Qt	training	for	20+	developers	
– Went	through	2	Scrum	sprints	with	these	20+	developers	on	real	backlog.	
Helped	developers	by	pair-programming	with	them.	Gave	short	talks	about	
common	problems	in	mornings.	
– Split	up	group	of	developers	into	6	teams.	Went	through	another	sprint.	
Then,	added	3-4	developers	per	team,	where	the	original	team	took	care	
of	the	new	developers.	
– Successfully	went	through	3	releases	-	on	release	every	2	months.	4th	and	
5th	release	were	done	successfully	with	less	and	less	help	from	me.		
– Filled	role	of	product	owner	and	overall	Scrum	master.	
– Coordinated	technical	work	between	development	and	project	management	
teams	of	tier-2	and	tier-1	-	in	US,	India	and	Mexico.
20/01/15
9
©	Burkhard	Stubert,	2015
Infotainment	System	for	German	Tier-1
• Customer:	Indian	tier-2	and	German	tier-1	supplier	
• Project	duration:	4	months	
• Technical	specification	
– 15+	applications	like	Media,	Radio,	Phone,	Contacts	
implemented	in	QML	(GUI)	and	Qt/C++	(business	logic)	
– Applications	communicate	over	DBUS	through	a	Master	
application	
– Platform:	Wayland,	OpenGL,	embedded	Linux,	Freescale	
i.MX6,	multi-touch	display,	hard	keys
20/01/15
10
©	Burkhard	Stubert,	2015
Infotainment	System	for	German	Tier-1	(2)
• My	tasks	
– Speed	and	memory	optimisations	of	applications	at	start-up	
and	during	runtime	
– Introduced	on-demand	creation	of	QML	apps	and	QML	
engine	saving	8+	MB	RAM	per	app	
– Found	excessive	RAM	use	of	Vibrante	GPU	(12-20	MB	for	
frame	buffer	instead	of	3MB)	
– Introduced	Squish	for	automated	testing	of	QML	GUIs	and	of	
inter-application	messages	
– Code	review	of	Connectivity	applications	-	leading	to	
substantial	code	rework
20/01/15
11
©	Burkhard	Stubert,	2015
WAN-VoIP	Handset
• Customer:	xG	Technologies	
• Project	duration:	12	months	
• Technical	specification	
– GUI	with	Qt/C++	based	on	Qtopia	phone	platform	
– Two	modems:	Wifi	and	xG	proprietary	
– Platform:	Qt	windowing	system,	no	graphics	
acceleration,	embedded	Linux,	Freescale	i.MX27L	
(ARM9),	hard	and	soft	keys
20/01/15
12
©	Burkhard	Stubert,	2015
WAN-VoIP	Handset	(2)
• My	tasks	
– Specification,	interaction	design	and	
implementation	of	UI:	Phone,	Wifi,	Bluetooth	and	
Settings	applications	
– Optimisation	of	start-up	time	of	system	
– Interfaced	with	client,	industrial	designers	and	
software	developers
20/01/15
13
©	Burkhard	Stubert,	2015
Other	Projects
• Developed	UI	of	low-power	and	low-cost	Internet	
radio	reference	platform	(bare	metal,	16-bit	XAP2	
processor)	
– Integrated	UI	with	vTuner	online	database	of	radio	
stations	
• Wrote	requirements	and	test	specifications	of	IP-
based	protocols	to	control	traffic	signs	along	British	
highways		
– Wrote	Wireshark	dissectors	to	analyse	protocols		
• Developed	IDE	for	formal	verification	of	ASICs	with	
Qt/C++
20/01/15
14
©	Burkhard	Stubert,	2015
Skills
• People	Skills	
– Building	and	leading	high-performance	software	development	teams	
– Convincing	senior	managers	and	executives	of	new	technologies	
– Adapting	to	different	human	and	work	cultures	
• Other	Skills	
– Talk	“Case	Study:	Driver	Terminal	of	Forage	Harvester”	at	Qt	Developer	
Days	2014	
– Invited	Talk	“HMIs	of	Agricultural	Machines	for	2016”	at	COALA	Symposium	
of	University	of	Osnabrück	
– Talk:	“Practical	QML	-	Key	Navigation,	Dynamic	Language	Change,	
Theming”	at	Qt	Developer	Days	2013	
– Courses:	Certified	Scrum	Master	by	Ken	Schwaber,	Usage-Centered	Design	
by	Larry	Constantine
20/01/15
15
©	Burkhard	Stubert,	2015
Skills	(2)
• Software	Skills	
– Expert	Knowledge	
– Qt,	QML	and	C++	development	
– Agile	software	development	(Scrum,	XP),	software	architecture,	object-oriented	
design,	design	patterns,	test-driven	development	(TDD)	
– Embedded	software	development	on	Linux	systems	(Freescale,	Texas	
Instruments,	Nvidia,	etc.)	
– Intermediate	Knowledge	
– JIRA,	ReviewBoard,	xUnit,	QtTest,	Squish,	svn,	git,	gdb,	gprof,	oprofile,	valgrind	
– iOS	development,	Swift,	iBeacons	
– Interaction	design	of	HMIs	
– Basic	Knowledge	
– Wireshark,	Bluetooth,	WLAN,	SIP	
– HTML5,	CSS,	JavaScript,	Java,	Perl,	Python
20/01/15
16

Burkhard Stubert: Project Portfolio and Expertise