Home Page


Hypercube Open Source Boards

Hypercube Software

Hypercube Cloud & Data Center

Hypercube Training

Hypercube Geometry

Open Nano

Parametric Drones

Hyper Neural Net

Fiber Laser Metal Cutting Machines £34,999+

Hyper Car

PCB Design

3D Printed Parts Design

Virus Scan
Penetration Testing

Industry 4.0

Technological Singularity

Digital Quantum Computer

Embedded C Training

Sharjah Tour

Six Transistor Cache
Launch Date



Terms and Conditions


Training Courses

How to write non-blocking multi-tasking software for small embedded CPUs really really well

  • We provide embedded C training based around compiling it under Eclipse IDE (or it variants such as IAR, Hitex, AC6, Keil, Coocox, Code Red, LPCXpresso, etc) running in Linux or Windows.
  • The training is applicable to ARM and any similar CPU such as PIC chips (Netbeans IDE, CCH IDE etc) and TI chips that runs C or similar such as C++/Arduino code.
  • Two day training course for small CPUs that have flash memory from 16k upwards and able to run C or similar code.
  • The fee is £10,000 +VAT for 10 engineers maximum in one sitting spread over 2 days (with discount arrangements for bespoke solutions)
  • We provide ARM boards and sample code for training. You can bring your own boards.
  • You must bring laptop or a PC with Ubuntu Linux or Windows operating system installed on SSD and a free version of Eclipse AC6 (from ST) also installed.
  • Alternatively, we provide USB SSD that runs Ubuntu Linux with Eclipse software installed and ready to run on any decent laptops and PCs that support USB boot.

Purpose of course

  • The purposes of this training module is to replace bad coding practices with robust methods that work 100%.
  • We can help prevent engineers from getting tech burn out caused by faulty code and un-debuggable code by teaching them to write proper debuggable code.
  • Continued support and guidance is available after training.
  • This professional course is ONLY for organizations that have failing unmaintainable and unworkable code and need a solution, particularly if it is unworkable multi-tasking code.
  • You will have deadlines to meet and the code production does not obey management instructions to be ready and working on time.
  • Or you may be a start-up that does not have robust working debuggable code and need to grow.
  • The performance improvements and results are 100% guaranteed - so if there is no material improvement, then you are entitled to full refund from our guarantee.


  • Engineers must know C and use it every day with small micro controllers with knowledge of some electronics
  • Engineers must be involved in the decisions to re-train and acknowledge there are problems with code writing practices and need this additional training to get past current issues.
  • We insist on the latter clause because engineers are the last to acknowledge there is a problem with the code they write (but you know different because deadlines are slipping).
  • You do not need this course if using large powerful CPUs such as ARM SoCs because in theory they have enough RAM and flash to disguise any difficulty with brute force. Unless that path is also broken and there is need for fresh training to get everyone into a consistent state where they are writing software that is easy to debug and works. This course is ideal for small low power inexpensive micro controller projects such as those used in IoT products, security products, hand held products and so on.


  • Build all your own code to be non-blocking.
  • Convert existing code to state machine driven multi-tasking and non-blocking code without re-factoring code.
This point very important as re-factoring code (which means redesign and rewrite of code) is expensive and time consuming.
  • Generate code that prints out internal states and then run it with auto pilot it to ensure state transitions are 100% correct and agreed by all.
  • Fill in each print message with actual code to generate 100% working code.
  • Monitor the printed state transition messages with auto pilot after each code addition to check code is 100% following the correct state transitions to spot errors and debug software before it becomes an unmanageable multi-tasking mess.
  • Convert 3rd party stacks such as Bluetooth, USB, serial etc to become as non-blocking as possible for any code that has been exposed so as to be converted without refactoring inaccessible libraries.
Code that blocks inside inaccessible libraries needs to be communicated to the manufacturer and repaired by the manufacturer.
  • All third parties push out their software stacks with blocking code hidden somewhere. Fantastic sales result for them, particularly if it is well hidden, but deadly for your IoT product if ANY of those libraries freeze due to an unforeseen or unexpected condition.
  • Learn to write good multi-tasking code for RS232, USB, PWM generation, ADC monitoring, error logging and reporting with just one timer.
  • Learn to write code that auto pilots itself in test mode.
  • Learn to write calibration code. Single point, double point and 3 point calibration code covered. Often overlooked, calibration code is 100% essential for most professional gadgets. Examples using charging curves for Lithium cells.
  • For edge devices and IoT devices that have to make decisions and projections based on curve fitting from data gathered, and report to cloud, we show you how.
  • Our distinct technique has been in use for many years in many companies and no one has ever abandoned it to go back to their old ways.
  • We sell this same training perfected over many years to bring you the same robust quality software production because we practice what we preach and use this same technology in Hypercubes and all of its multi-tasking software.


Trainer: J. Michael 07741782995

Page last modified on June 26, 2018, at 02:31 PM