Tag:tutorial

Scripting for Kicad Schematics in Python

Python scripting is no longer reserved for Kicad layout: now you can make changes to schematics, or wholly generate circuit assemblies, with the skip library, which is a general purpose s-expression file parser and manipulator with a whole bunch of kicad-specific enhancements. Someone called it “openSCAD for schematics”, and it’s a good analogy. I’ll use…

Read more

From ‘top’ to Transistors: Verilog to ASIC in one step with Open-Source

Go from HDL to physical CMOS layout right now with the help of this guide and some great open-source tools. I’m currently following the Zero To ASIC course, which pretty much does what is says on the box: helping you learn how to move beyond the FPGA and get your hardware descriptions transformed into real…

Read more

Creating an I2C slave interface for a sensor or peripheral

You’re creating a stand-alone module to bundle a few hardware sensors, or have an independent microcontroller that stays awake and needs to wake the main system depending on configurable environmental triggers. What’s the easiest way to let this unit receive orders and communicate results? An I²C slave! Inter-Integrated Circuit–I²C–is specifically designed to provide an easy…

Read more

Creating a sensor or peripheral with an SPI (slave) interface

Designed to interact with a 16-bit I/O expander, the firmware was ready for testing.  Though I was still waiting on parts, I wanted to make sure it would all work as expected.  What’s an impatient developer to do?  Create his own SPI slave to replace the missing part, of course! If you’ve gotten anywhere beyond…

Read more

Kicad: Techniques, Tips and Work-arounds

Kicad is an cross-platform, open source, electronics design suite.  I’d toyed with it in the past, but had never made it to actually designing real projects with it until recently.  Here, I’ll go over my experience and initial impressions, and provide a few pointers and resources for anyone curious about trying it out.  We’ll tour…

Read more

Transmitting mounds of data in realtime over Bluetooth Low Energy

My client needed to receive a relatively large amount of data on a mobile device, from an embedded system, and process it in near-realtime.   The simplest method for communication with a whole host of mobile devices is to go over bluetooth low energy, but this protocol’s main concern is more about power conservation than throughput. …

Read more

Turning complex waveforms into usable values–VRMS, Power, Torque… how to do it and why it works

After this tutorial, you’ll know “in your bones” how to deal with the weirder stuff, when it comes to time-dependent values. It’s easy to find formulas to plug into to for simple cases, like a steady DC voltage or nice sine waves with known peak values but what happens when things aren’t so straightforward?  Say…

Read more

Bluetooth Low Energy tutorial series (part 1) published.

I’m pleased to announce that the first set of pages for the Bluetooth Smart/Low Energy Tutorial series have been published.  Within, you’ll find a BLE crash course, a DIY BLE module breakout board (including an Eagle library so you can use it in your circuits) and a complete universal bluetooth low energy client program– with…

Read more