Designing and making an Internet of Things (IoT) system is not easy. Use cases may be difficult to define, technologies from several distinct technical fields have to be integrated, and selecting the right communication means may be difficult.
I help you putting your IoT project on the right track, with following assistance:
- Advice regarding use cases, types of connectivity, application-level protocols, etc.
- Research tasks regarding connected devices [1]
- Development of proofs of concept or prototypes, and delivery of the associated codebase, which can then be used to jump-start the development of your product
- For an ongoing project facing technical difficulties relating to connectivity: audit of the technical architecture and of the communication layers, definition of specific test procedures, development of dedicated tools, etc.
- Architecture definition and development of full systems
Since the 90’s, I have been designing, developing and delivering many systems, under tight resource and time constraints. I ensured smooth integration of various wireless technologies. I designed several devices, and developed associated SDK (Software Development Kit) and communication stacks.
My experience encompasses the three technical fields required to design reliable IoT systems: communication systems, electronics, software development. And I am well-experienced in integrating components from these fields.
I hold a Master of Engineering from the French graduate engineering school Telecom Bretagne (now IMT Atlantique), with a specialization in Computer Science followed at Telecom Paris. I hold four granted patents, and one pending, in the field of connected devices. I’m a part-time lecturer at IMT Atlantique and at the University of Cote d’Azur. I created and maintain a presentation about connected objects, freely available.
Some of the projects I carried out and systems I built:
- Exploratory study for the definition of an architecture mixing Bluetooth Low Energy and LoRaWAN, for extending an existing Bluetooth system to a new environment. Then, design and development of the system according to the architecture, and port of the LoRa Basics Modem stack from Semtech
- Architecture definition and development of a new embedded communication SDK:
- First production-grade implementation of SCHC compression/decompression
- First production-grade implementation of parts of the SCHC fragmentation/reassembly
- Event-driven architecture – implementation independent of the target microcontroller and target execution environment (bare metal, RTOS, OS)
- Development of test tooling for validation before the availability of the server platform
- Development of unit tests and functional tests
- Customer technical documentation
- Integration of new versions of LoRaWAN stacks
- Integration of MQTT
- Identification of the origin of bugs (SDK, integrated stacks, board drivers), and corrections or workarounds
- New functions
- Architecture definition and implementation of an embedded application having to be compatible with an existing communication protocol, for an ESP32 target
- Review of a very large project applying for public grants
- SDK for a microcontroller board with several wireless modules and a GNSS module – bare-metal software development
- Real-time mission dispatch for various types of fleet of vehicles (taxis, waste collection, ambulances, etc.)
- Several versions of the on-board device used in above systems
- Urban transport real-time tracking (information about next stop to the driver and to the travelers, alerts on delays, etc.)
- Air quality monitoring (periodic upload of sensor data, etc.)
- Remote control of radio transceivers (frequency settings, etc.)
- Tracking system with global coverage (integration of two cellular networks and one satellite network, etc.)
- Detection of presence of the driver in a car
- Supervision of entrances and exits of sailing ships for a harbor
- Transmission of a video stream over 4G, from a mobile device to another mobile device, triggered by an alarm
- etc.
Some of the technical environments that I have been using or used:
- Communication layers:
- cellular (GPRS, 3G, 4G)
- LPWAN: LoRaWAN – LoRa Basic Modem and LoRaMac-Node stacks
- digital trunked radio (TETRA)
- professional mobile radio (PMR)
- unlicensed short distance radio
- Wi-Fi
- Bluetooth Low Energy
- satellite (Inmarsat-C)
- etc.
- Microcontrollers / boards:
- ST STM32L0, STM32L4
- Espressif ESP32, ESP8266
- Silicon Labs EFR32
- MangOH and Sierra Wireless WPxxxx module
- NXP LPC1115
- NXP (originally Motorola) 68HC11
- etc.
- Embedded software environments:
- Bare-metal
- FreeRTOS
- ESP-IDF
- etc.
- Programming languages:
- C
- C++
- Assembly languages
- Java
- Scala
- Kotlin
- Golang
- Pascal
- JavaScript
- TypeScript
- etc.
- Desktop, server, mainframe:
- Docker
- VirtualBox
- Vagrant
- Vue.js, Angular
- Akka
- Linux, Microsoft Windows, macOS
- VMS
- VM/CMS
- etc.
I work remotely, from Grasse (south-east of France).
Systev is the trade name I use for my website. It was the name I created for a company I co-founded in 2007 and closed down in 2011. As I like this name, I re-used it 🙂 Check my LinkedIn profile if you want to know more.
To know more about my experience, click on Twitter, LinkedIn, GitHub or Slideshare links below.
[1] For companies operating in France: I’m approved as a Technical Expert by the French Ministry of Higher Education, Research and Innovation, regarding the Research Tax Credit. My primary research domain is Connected Devices and IoT. My secondary research domain is Software Systems.