Tux lab electronics folder icon 20161207
Magic smoke. . . .

Tux lab collaboration folder icon 20161201
Tux lab electronics folder icon 20161207
Tux lab fabrication folder icon 20161201
Tux lab ad image 20161201

- Updates -

Mar 15 2018

Environment Sensor Board Version 2

environment monitor sensor board version 2

The i2c bus wiring mistakes of sensors U2 and U4 were corrected and the revised KiCAD layout file uploaded to OSHPark. The original sensor test program ran without any issues on the revised board. With the preliminary circuit and data acquisition program completed, the next step is to figure out the corresponding physical enclosure and continuous data collection.

Mar 08 2018

i2c bus debuggin with Saleae Logic Analyzer

i2c debuggin with Saleae Logic Analyzer

Normally i2c communication is fair straight forward. To communicate with a slave device, the master initiates a start signal follow by the hex address of the slave device. The slave acknowledges and wait for further instruction from the master.

The master then issues hex address commands to the slave and reads the responding bytes of data from the slave. The received bits of data are then converted to sensor reading based on the algorithm provided in the sensor datasheets.

A logic analyzer enables the user to see the actual digital bytes being sent and received on the i2c bus, as well as the actual physical analog signals of the i2c bus, thus allowing the user to more easily identify communication issues on the i2c bus.

i2c environment sensor reading

Mar 02 2018

How was this obvious error missed, twice?

i2c schematic error

After the environment monitor board was assembled, a quick i2c bus scan showed only 3 of the 5 sensors. After a few minutes of head scratching and probing with the continuity meter on both the populated board and unpopulated PCB to check for shorts and open connection, the PCB assembly process seems okay. Yet, two sensors are still unresponsive.

Double checking the schematic revealed that the i2c lines were reversed for the non-responding sensors. However, it was a salvageable mistake. The offending line traces were cut and new connections were made using 30awg wire wrap wires. The result was not pretty, but all 5 sensors show up on i2c bus scan.

environment sensor board version 1 fixed

Arduino Environment Sensor Board Testing Setup

i2c 1-wire bus scan results

Feb 28 2018

DIY SMT Assembly

diy smt assebmly

As expected, a package arrives from OSHPark 2 weeks after submitting the PCB layout, and the process of SMT assembly begins. . .

Solder paste stencil layout is exported from KiCAD and sent to the CO2 laser engraver. Typically, the solder paste mask is shrunk by 10% before exporting from KiCAD to avoid applying too much solder paste that caused bridging on smaller pads. Once solder paste has been applied, the various SMT components are placed manually. The populated PCB is then reflow soldered using a hotplate.

Laser Cutting Mylar Stencil

Feb 13 2018

3.3V - 1.8V = 4 Hours

Envrionment Monitor KiCAD PCB Layout

After a couple days of searching DigiKey for the various sensor ICs to populated the long delayed environment monitoring board, the Eizo monitors once again glow with the nurturing altruistic warmth of the open source community courtesy of KiCAD.  A temporary reprieve from the heartbreaking, soul crushing, reality of modern American kleptocracy. Oh'...wait, about 3.3V - 1.8V = 4 Hours. . .

This board is a followup to the various sensor boards made with KiCAD from a few years ago, back when people lament the underachievement of an over promised presidency.... sorry, memory is such a volatile affair, back to the current reality....

So, first couple i2c sensor boards were made with single Si7021 humidity sensor and MPL3115A2 barometric pressure sensor. The little 6pin Si7021 was particularly easy to used and were used in a couple introduction to KiCAD meetups hosted in Tux-Lab, to show people how to use the datasheet to draw the KiCAD schematic symbols and create the corresponding KiCAD footprint. The Si7021 datasheet also serves as a good introduction on using the i2c bus to query for the humidity and temperature data bytes and using the provided algorithm for converting to human readable digits.

As a follow up, a few more sensors are added, mostly as a skill building exercise for interfacing multiple i2c devices and writing simple libraries using the datasheets. The slot above the temperature sensor is for trying out OSHPark's PCB slotting capability. The next iteration will minimize the slot pinch area to increase thermal isolation for the temperature sensing IC.

Prior to uploading the PCB layout to OSHPark, a final check discovered the VOC sensor IC has a maximum operating voltage of 1.8V, which necessitated a substitution for another VOC sensor IC that will function with 3.3V. Sadly, the new IC is not pin compatible and required an additional 4 hours to redo the PCB layout, hence 3.3V - 1.8V = 4 Hours. Haha. Well, considering that going from the previous 5V sensor board via a couple mosfet level shifter to the current native 3.3V board took a few years. Perhaps 4 hours is an improvement.

Mar 03 2017

SCaLE A/V Podium PC

scale 14x podium PC

The selfless Linux spirit is one of the guiding principles for Tux-Lab, and for the last few years, SVGLUGers has gathered Tux-Lab to help with the various SCaLE Audio/Video team projects.

. . . show details

The selfless Linux spirit is one of the guiding principles for Tux-Lab, and for the last few years, SVGLUGers has gathered Tux-Lab to help with the various SCaLE Audio/Video team projects.

Scale 14x Podium PC Components

SCaLE A/V Podium PCs are placed in each conference room and remotely control to display conference messages and record the conference talks. At Tux-Lab, we laser cut the acrylic cases, design the NPN boards, and assembly the podium PCs.

Scale 14x Podium PC Assembly

SCaLE AV podium computer wiring diagram 

Oct 28 2016

Debugging Electronics

atmega32u4 fix

To err is human, and we know we are definitely human. . . . show details

To err is human, and we know we are definitely human. Thanks to our oscilloscope, magnifying glasses, soldering and hot air station, and lot of perseverance and patience, something getting a non-working board back into working condition feels like divine euphoria.

lm3407 fix

Sometimes the errors are obvious and easy to fix. Other times, carelessly placing schematic components and ordering MOSFETs without paying attentions to the source gate drain pinouts, can lead to days and weeks of agonizing madness.


lm3409 fix

Nov 19 2014

SI7021 Humidity & Temperature Sensors PCB Layout

We exclusively use KiCAD, and open source . . . show details

We exclusively use KiCAD, and open source electronic design software suite, to draw our schematics and layout our PCBs. We also use OSHPark, an domestic PCB batching company that uses US based PCB manufactures, to manufacture our boards.

Si7021 is a simple moisture and temperature sensor IC that communicates though I2C.

We especially thanks IO Rodeo for patiently helping us get started on using KiCAD.

Dec 15 2013

CNC Machining + Electronics + Programming

Modules with Machined Heatsinks

Our ideal projects involves a bit of CNC machining, a bit of electronics, and some programming. Sometimes not by choice, and sometimes we fail miserably.