Embedded Systems Weekly – Issue 72
Issue 72 – 30 September 2016
Hardware
SMBusb is a cheap, versatile, open-source SMBus (and I2C) USB interface.Share on Twitter ∙ Share on Facebook
It’s a voltage regulator module from a Dell PowerEdge 6650 Xeon server.Share on Twitter ∙ Share on Facebook
Sneaky tricks with a DMA peripheral to implement 6 SPI ports on a PIC32Share on Twitter ∙ Share on Facebook
The MSP430 series of microprocessors are fast powerful devices ideally suited for use with the various wireless transceivers offered by Texas Instruments. In streaming audio applications, however, it is desirable that the microprocessor support an audio bus to allow for interconnection to an audio CODEC. This application note describes how to create an I2S-like bus (left-justified mode) from an SPI bus using a 4-bit counter, a ‘D’ type flip-flop, and a dual inverter gate.
Share on Twitter ∙ Share on Facebook
Software
Google’s most recent Chrome browser, version 53, includes trial support for Web Bluetooth, and it’s like the Wild West! JavaScript code, served to your browser, can now connect directly to your Bluetooth LE (BTLE) devices, with a whole bunch of caveats that we’ll make clear below.Share on Twitter ∙ Share on Facebook
Unit testing is a great software testing practice that gets a lot of love in web and application development but unfortunately isn’t practiced as often in embedded/firmware development. This is a shame as the impacts of having a bug in firmware can be considerably more catastrophic than having a bug in a webapp. Sam Lewis written this article in the hope of demonstrating some of the benefits that come when writing unit tests for embedded software and have also given a small toy example of how it’s possible to unit test firmware using the cmocka framework.Share on Twitter ∙ Share on Facebook
James Munns was able to publish a crate called teensy3, which contains most of the boilerplate necessary to get started using Rust on the Cortex M4 based PJRC Teensy 3.1 or 3.2, as well as (unsafe) Rust binding for the entire Teensyduino API/HAL. Additionally, we have a demo repository containing everything necessary to get started.Share on Twitter ∙ Share on Facebook
One of the key features of UEFI is that the specification and the APIs/ABIs it guarantees provides the ability to produce portable applications, drivers and libraries (in the form of protocols). On the simpler side, by letting you compile the driver once for each architecture – and on the more space age side by letting you build a single driver that works across all architectures (using EFI Byte Code). The extra magic comes in the form of Option ROM support, which lets plug-in PCI cards keep a driver onboard, informing UEFI to load it on boot. Share on Twitter ∙ Share on Facebook
Misc
HBPowerwall YouTube channel is working on adding a huge number of 18650 Lithium cells to his home’s power grid and posting about his adventures along the way. Share on Twitter ∙ Share on Facebook
Share on Twitter ∙ Share on Facebook
Photo by Howard