Category: Educational

KiCAD 3D Model

This shows and early draft of rev 1.4 on KiCAD using their normal 3D model. KiCAD have a more realistic version that is a bit slower to draw, but for all poractical purposes it does the job. Accurate details is IMO not important here, the objective is to verify as much of the mechanics as…

Read the full article

Getting on with KiCAD

The graphical user interface on KiCAD is different than most applications. On KiCAD you get little feedback that you have selected something. Editing on PCB is quite “normal” – you select a component and click to move it. Doing the same on schematics are different, you select by using area and the component stick to…

Read the full article

Burning lamp

Working with electronics you accept that it is a small risk of fire and take pre-cautions. But are we really prepared for what can go wrong? The issue is that everything around us contains more electronics and things that can take fire these days. Yesterday my lamp bought on Clas Olson took fire. Nothing bad…

Read the full article

KiKad First Contact

I decided to make Rev 1.4 of the 32xServoIO using KiKad. One of many reasons for leaving Target 3001 and using KiKad is that I want to show more schematics out here. That has been difficult with Target 3001. The main reason is however cost – I use a free version of Target 3001 with…

Read the full article

PWM Abstraction Layer

Designing a PWM Interface is easy, but using ST’s “HAL” layer requires a bit of testing. A friend of mine decided to write his own drivers because he believe ST’s drivers are over-complicated and too low level. I agree, but I prefer to make my own C++ Abstraction Layer on top of the drivers. So…

Read the full article

Expression Parser

One key component of any Parser is the Expression Parser. This one is used to parse mathematical or logical expressions into a list of micro-statements. Plain have a separate instruction to execute math, but the parser need to build the list correct. Example : 4 + 5 * 3 If we add 4+5 we get…

Read the full article

Plain Assembler

The Assembler itself will read Plain source code and generate a RTL file that is downloaded to the device. RTL (Real Time Linker) is located on the target device and will convert RTL format to executable Plain VM instructions. Most modern Assemblers are very similar to Compilers. The main difference is that the Assembler have…

Read the full article

Plain

Plain (Programming Language for AI Networks) is very different from Languages like Python, Java and C#. The only similarity is that they all are based on a Virtual Machine and all use C/C++ as native host language. One difference is that C++ is more openly integrated into Plain than Java and C#, while Python have…

Read the full article