Category: Educational

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

Ethernet Hat’s ESP32/HLK-7688A

I decided that I want to make 2 different Ethernet/Wifi modules With different purpose. With Raspberry PI it will be 3, but RPI and ESP32 overlap in functionality. ESP32 with Ethernet/Wifi/Bluetooth is a very attractive “Connector” solution where I can add more connections by adding multiple Hat’s. I can sadly only add a single Raspberry…

Read the full article

STM32H743 Maturity

I managed to get STM32H743 running blinking some leds, but not without pain. STCubeIDE is able to download code, but fail on debugging. All in All I basically conclude that H7 is not sufficiently mature yet! This is not about the MCU, but tool, toolchain, drivers and everything around it.