The PCA9685 chip is a 16 channel PWM controller with 12-bits of resolution. It can control via PWM up to 16 LEDs. Thanks to the fact that it can output a variable frequency from 1526Hz down to 24Hz, it can also be used to control up to 16 servos. Servos usually expect a 50Hz signal…
Author: halherta
UDPNode: A C++ class for UDP Communication
A couple of months ago, I decided to pursue few IOT project ideas that could benefit from basic UDP (User Datagram Protocol) communication. The MQTT and CoAP protocols are definitely more robust and secure. But there are some situations where the basic UDP protocol is sufficient. The POSIX C socket API built into Linux is…
Introducing PCBBot!
The PCBBot leverages the PCB itself as the robot chassis. This reduces cost significantly. It also means that the two motors and the caster wheel would have to be mounted on the PCB itself, in addition to the batteries and all the other components.
Bit Manipulation in C Part II – Read Modify Write Operations
This article covers Read Modify Write (RMW) operations. These operations allow the programmer to manipulate one or more bits of interest within a variable (or register), without affecting the state of the rest of the bits in the that variable (or register). In order to understand RMW operations, the reader must have a solid foundation…
Bit Manipulation in C Part I – Bit Manipulation Basics
The topic of bit manipulation in C doesn’t seem to get as much attention in many C programming books and study guides. Perhaps because it’s a not used regularly by application developers and system programmers. Knowledge of bit manipulation is however downright critical in the fields of embedded systems, kernel space programming and device drivers…