Engineering + Modeling
Engineering doesn’t have to be complicated and hard to grasp. A hobby model project doesn’t have to be quick-and-dirty. If we combine the disciplines of engineering practices and the ingenuity of hobby projects, the results could be surprisingly inspiring, rewarding and most importantly fun!
Gallium IO is a hobby studio creating innovative projects from the ground up combining 3D printing, electrical hardware, embedded software, artistic design, IoT and web applications. We share our ideas and techniques with readers on our blog, with the mission to promote STEM education and raise awareness of engineering disciplines.
Essence of Modeling
At Gallium IO, we like modeling. We build simplified or scaled down versions of real-life systems, such as model trains and mini LED display boards. We develop software using model-based design techniques (whatever it means). But what is modeling and why is it important?
Modeling is the art of abstraction, and abstraction is the key to learning, understanding and creation. In other words, modeling allows us to extract the important aspects of a system so we can digest them and generate something far more complicated or advanced. We will come back to it with real examples, and of course explain what model-based software design means.
Embedded Software Engineering
Our focus is on the software running deep inside the prototypes we create. We call it real-time embedded software, which is at the heart of almost all modern devices and systems. Our vision is to enhance software reliability and robustness of everyday systems through the use of agile model-based design methods with statecharts.
We emphasize everyday systems here. We believe reliability and robustness are not monopolized by medical devices or spacecraft. If we can bring them to any systems or gadgets we use, at least our daily routines may get a little more convenient and hopefully a little safer. It may even help the products you are developing stand out from the crowd.
Check out our latest Architecture series to learn more about software modeling with statecharts, which can be summed up with this message:
Why Gallium?
Gallium is the 31st element in the atomic table. Its compound such as GaAs is used to make LEDs, and we love LEDs! We are going to use LEDs in many of our projects.
In embedded systems, a typical hello-world application is to blink an on-board LED, similar to how a desktop application prints “hello world” on a monitor. LED matrix displays have always been popular hobby projects among electrical engineers, evolving from single-color panels to RGB panels with ever increasing resolutions. Indeed, gallium has a special place in embedded systems!
On the LED panel below, there are 49,152 individual single-colored LEDs (R/G/B). They are switched on and off rapidly in the microsecond order to form a colorful picture – all coordinated through the use of statechart modeling. It is abstraction at work when you don’t see the digital pulses but a meaningful message!