Tuesday, July 29, 2014

The Software Has To Get Better


So why are we "pushing" Forth on single chips? To get you prepared to do it on an array of 144 Forth Engines on a chip.

Engineering is the art of making what you want from what you can get at a profit.

Monday, July 21, 2014

I2C RH Sensor 21May2014



This is a Relative Humidity and Temperature Sensor that attaches to the I2C Bus. It has a relative humidity accuracy of 3% a precision of .2% and a resolution of .1%. You can buy a higher accuracy version (2%) if you need it. Be sure to get the 5V version. For temperature the accuracy is .3°C and the precision is .01°C. There are two versions of the sensor. One is powered up continuously and the other just powers up for each reading. You can learn more by having a look at the family data sheet. The part number I tested the board with was the CC2D35. Any of the 5V parts in the family should work.

Soldering is not difficult (for surface mount). I normally mount the 4.7uF capacitors first and then mount the ICs. Mounting the TVS diode package before the capacitors and sensor is probably a good idea. The connector should get mounted last. You can get the parts list, schematic, and parts layout at I2C RH Sensor 21May2014 - Documentation. I also have software that will read out the sensor to 4 digits at I2C RH Sensor 21May2014 - Software For The LPC812 FISH Forth.txt. As you can tell it is designed to be run with our LPC812 board. The software is mainly a how to do it minimal package. Also note that the readout for this software is 4 digits (at room temperature and less than 100% relative humidity) with no decimal point. You can use other Forth routines to add a decimal point and add one more decimal place of resolution but I wanted to keep the software simple so it is easy to understand. For systems use you will probably want to add time outs and other things so a defective or missing sensor does not hang up the system.

This board is available from OSH Park for $3.05.

Engineering is the art of making what you want from what you can get at a profit.

Wednesday, June 25, 2014

I2C Parallel Port 8 Bit - LED 14April2014


This fun little board is mainly for those new to I2C. It gives you an easy way to write and test code that will control an I2C device and see the results visibly. I have written some code that includes initializations to help get you started. I2C Parallel Port 8 Bit - LED 14April2014 - Software for the LPC812 FISH Forth. The code runs on our LPC812 Devl board.

This board is available from OSH Park for $4.08.

You can get the board documentation package here: I2C Parallel Port 8 Bit - LED 14April2014 - Documentation

Engineering is the art of making what you want from what you can get at a profit.

Wednesday, April 30, 2014

LPC812 Devl - 20 March 2014



The LPC812 MCU board in the picture plugs into, communicates with, and is powered by a USB port. It has 8 parallel port pins which can also be assigned to other functions. And opposite the USB port connector it has our standard RJ11 I2C bus connector.

You can find the document package for the board at: LPC812 Devl 20 March 2014 Documentation.zip. The board is available from OSH Park - LPC812 Devl - 20 March 2014 for $7.35.

Forth for the LPC812 is available at New FISH - LPC812 Support. There is a link to instructions on how to load the Forth into the chip at the link.

The NXP Users Manual can be found at LPC812 User's Manual.

Update: 25 June 2014 1419z

There is a problem with the 20 March 2014 version of this board. It was accepting spurious (real?) shutdown signals from the PC after about 10 days and would not power up. This happened on PCs with XP and Win 7 so it is not a specific OS problem. So it took about 30 days for me to be convinced it was a real problem. I had to see the problem twice and then investigate for about 10 days.

I designed a modified board that can be "wired" (resistor removed or added) to not respond to the shut down signal - the way everyone else does it. R17 and C22 have been added. R17 is normally NI (not installed). That disconnects the shutdown signal. As far as I can tell no one uses that signal to control power from the USB port.

You can find the documentation for this revision at LPC812 Devl 5 June 2014 - Doc. This board will be available from OSH Park for $7.33.

Further update: 24 July 2014

Upon further investigation it turns out that the difficulties I has were caused by an intermittent solder joint. And it was a very strange intermittent that worked for 10 days and then got flaky. And it did that twice. So you can use either board depending on what you like. Check the different schematics and make your choice.

Engineering is the art of making what you want from what you can get at a profit.

Sunday, April 27, 2014

New FISH - LPC812 Support

There is a new release of FISH Forth software that now includes LPC812 support and LPC1114 support. FISH_NXP_M0_PubRel_v1.3.zip. I will be announcing some new hardware to go with this software over the next week. Update: The new hardware is here.

Directions for downloading the code into any NXP processor (only some of them will work) can be found at loading FISH and other LPC1114 information.

V1.4 can be found here.

Engineering is the art of making what you want from what you can get at a profit.

Sunday, April 13, 2014

Forth Update And Some Nice Doc

Our resident software genius (ably assisted by his long distance friend Vic) has updated the FISH Forth for the LPC1114. You can find it here: No longer avalable - FISH_NXP_M0_1114_PubRel_v1.1.zip. See bug fix version below.

No errors were fixed. We haven't found any yet. Some words to help with shifting bits were added. In addition a glossary with copious code examples has been added. And some other things. Have a look.

Update: 13 April 2014 1941z

Well we found an error with the Flashing of user code. It has been fixed. You can find the latest code at:

FISH_NXP_M0_1114_PubRel_v1.2.zip

The prior release with the bug - v1.1 - will no longer be available.

Update: 18 April 2014 0854z

FISH is now listed on the figForth compilers page. Way to go Clyde!

Update: 27 April 2014 0246

There is a new release of FISH Forth that now includes support for the LPC812. Link at New FISH

Engineering is the art of making what you want from what you can get at a profit.

Friday, March 28, 2014

LPC1114 Devl



All the boards we have recently released

TTL To RS-232 DB9 M&F

TTL to USB

TTL to I2C

I2C-4SW-4LED 9Sept2012

were aimed at the release of our LPC1114 Development board. Or as I like to put it the LPC1114 Devl. And what do I mean by "we" and "our" ? Well it was developed as part of a team effort. An effort our little group likes to call ATeam Forth. This board is the center of a project to reintroduce the ease of Forth programming for microcomputing. All development in Forth happens interactively. And once you have developed and tested each bit of code there is a compiler on the board that speeds up the execution of the compiled code and includes easy ways to turn it into an application.

To see what you can do with the LPC1114 have a look at:

LPC1114 Data Sheet

LPC1114 Users Manual

So what do you need to start? Well you will need a way to talk to the board. Probably over USB. That is explained at TTL to USB. That post includes links to suitable terminal programs for your PC (there are probably similar programs for Apple users - but I'm not familiar with them) and an explanation of how to get them running.

Besides the USB board/terminal program you will need the LPC1114 Devl board. You can find the documentation for that board st LPC1114 Documentation. It includes the schematic, parts layout, and parts list. OSH Park has the boards for sale for $11.55 each.

And finally you will need to put the Forth located at ATeam Forth for the LPC1114 on the board. It is easy to do using a free tool called Flash Magic. I might add that if you have an LPC Xpresso LPC1114 Board with a serial/USB interface attached to it (TX and RX pins)it will also run our Forth. It should also run on the LPC1115 Xpresso. But we haven't tested it.

But back to Flash Magic. Once you have it installed follow these steps to load your LPC1114 with ATeam Forth.
1. Communications - Select your processor "LPC1114/102". You have already found your COM port as outlined in TTL to USB. Enter that in the COM Port box. The baud rate should be 9600. Interface is "None (ISP)".
2. Erase - check the box that is labeled "Erase all Flash+Code Rd Prot" do not check any other boxes in this section.
3. Hex File - Enter the location of your Hex file in the box. There is the usual "Browse" tool to make that easy.
4. Options - only check the box "Verify after programming"

Before you start programming install jumpers JU1 and JU2 on the board. Hit the reset button. You are now ready to

5. Start

It takes about a minute to install and verify ATeam Forth. Remove JU2 - go to your terminal program (set up for your COM Port and 9600 baud, 8 bits , no parity , one stop bit) and then press reset. You will see the sign on message indicating the number of free flash blocks and the date your version of ATeam FISH Forth was created. Press the "Enter" key and you will see "ok, go fish in BASE 10". That tells you the number base you are operating in in decimal. So how did it get the name FISH? Well, it is sort of an updated figForth. So we called it FigISH. Or just plain FISH. Go FISH.

Soldering notes for the LPC1114 Devl.

There is only one difficult to solder component on the board. The oscillator. It is difficult because the pads are not exposed. To make it easy lay down a generous amount (which is not much) of Chip Quik on the pads before you attempt to solder to them. Put the Chip Quik on the board before you place the oscillator for soldering. The solder will flow under the pads because of Chip Quik's outstanding wetting/fluxing ability. And also note. ALL the pads for components have been specifically designed for hand soldering. So fire up your iron!

More about Forth

If you are not familiar with Forth, I have added Starting Forth - pdf and Thinking Forth - pdf to the sidebar. Or click the links here. Obviously if you are new to Forth, Starting Forth is where you want to start. FISH does not completely conform to the Forth in the book. But it is close enough - especially in the beginning chapters - that you can use our hardware to follow along.

Update: 12 April 2014 2320z

The latest version of FISH Forth has been released. It has some added words for doing bit shifting and a Glossary with numerous examples. You can find the download link at Forth Update and Some Nice Doc.

Engineering is the art of making what you want from what you can get at a profit.

Sunday, March 23, 2014

I2C-4SW-4LED 9Sept2012

Now that you have your I2C interface working you will need to test it out on something. I have a nice little board for that. The I2C-4SW-4LED board. You can find the documentation here. As the name implies it has 4 switches (actually 2 pin jumper headers to reduce costs) and 4 LEDs on the board, so you can talk to it with I2C and make lights blink. And/or read the switches. The board is made in such a way that you can wire to external switches and LEDs for use on a front panel of what ever device you are building. If you use external LEDs do not install LEDs on the board. Nothing bad will happen. But it may not work the way you want because of differing LED voltages.

With the three Jumpers on the board - JP1, JP2, and JP3, you can set the address of the board so that you could easily have 32 LEDs and 32 switches in a system. Or other parallel ports using the PCA8574 for other things.

Please note that the chip comes in two flavors. The PCA8574 and the PCA8574A. They differ only in their I2C base address. The PCA8574 has a base address of 40h and the PCA8574A has a base address of 70h. This fact tripped us up in initial testing. Don't let it trip you up. And note: either chip can be used on the board. So you could actually have 16 of these boards in a system. If your I2C driver could drive that many.

OSH Park has the boards for sale for $6.00 each.

Update: 28 April 2014 0907z

You can find some test code that exercises the I2C bus and blinks the 4 LEDs on the board at I2C-4SW-4LED LED-Test.txt. It is written in FISH Forth.

Engineering is the art of making what you want from what you can get at a profit.

Saturday, March 22, 2014

TTL to I2C

Since I'm using 5 volts as the standard I2C bus voltage, I need a way to translate from the 3.3 volts the MCU uses to the 5 volts the I2C bus uses. The interface needs to be bidirectional without having any switching since either the 5 volt side or the 3.3 volt side can pull the bus low. And there is no way to tell in advance which side might want to do that so a bus translator like the 74LVC2T45 will not work. I did try the the P82B96, but, despite being a very popular chip it latched up on me. Some manufacturers allude to this when they tout "no latch up" at the top of their data sheets for I2C bus voltage level translators. NXP describes how to do it with N channel MOSFET transistors in their application note AN10441. The circuit described there is what we would have called in the old days a grounded grid circuit. Today we call it grounded gate. The gate is grounded for AC despite the 3.3volt bias on it because the 3.3 volts comes from a power supply which is heavily filtered to eliminate any AC voltage on the supply. Despite being low cost I decided not to use this method because low cost transistors commonly come in an SOT23 package (which is big enough so that I can actually hand solder it). But the SOT23 package takes up a fair amount of board area by today's standards.

So I settled on the NVT2002 chip which looks like it has two transistors in the package along with disconnect circuitry which prevents translator operation if both sides of the bus aren't powered. Because the transistors are basically pass through devices they don't add much bus delay (on the order of nano seconds or less). And just to cap off the sweetness they cost a lot less than the P82B96.

To make life easier for I2C bus users I put 3 of our standard RJ11 I2C bus jacks on the board, so that if you are using 3 or fewer devices on the bus you don't need to buy doublers or triplers to daisy chain bus devices. Although you would have to use them if your bus is long in order to keep your bus capacitance below the specified maximum.

Bare boards for the I2C bus adapter are available from OSH Park for $5.15. You can find the documentation for the board (schematic, parts list, and parts layout) here.

You have a choice of powering the I2C bus with the power supply providing power to the MCU board or if your bus peripherals use a lot of 5V power you can give the TTL to I2C adapter its own power supply so as to avoid dragging down the 5 volts supplying the MCU board.

Engineering is the art of making what you want from what you can get at a profit.

Tuesday, March 18, 2014

TTL to USB

You will need an interface to your computer if you plan to use our LPC1114 board with Forth for fun and profit. I will be writing up the '1114 in the next few days. In the mean time you can start building an interface to your computer. You can use the RS232 board if you are trying to talk to and program it with an older computer.

Or you can build the TTL to USB board if you have a more modern computer which only has USB ports. The USB board uses the FT232RL chip. Soldering the board is straight forward. So I'm not going to go into that. I will just mention that FTDI does not recommend using the Blue and White LEDs you can mount on the board in the way I use them (connected to the 5 volt supply with a 3.3 volt interface voltage). So if you mount them it is at your own risk.

Of course you are going to need some documentation to put a board together. You can get the schematic, parts list, and parts layout here. You can buy the boards from OSH Park. The price is $7.10 per board.

To communicate through the USB board you will need a terminal program. There are a number of them out there. I'm going to describe some of them. The links provided go to review pages where you can find a download link. For beginners I like Tera Term. It is easy to use. On the con side it hides the screens that you might want to play with while setting up or just watching what is going on.

For the more advanced user I would suggest RealTerm. It has everything you need but the screens will be confusing to the novice. Its specialty is binary files and difficult data.

The guys at Green Arrays like putty which is open source.

To make these programs work you will need to find out the port number of the USB port you have plugged into. Please note that the board is as the FTDI people refer to it "self powered". You will need to provide it with a power supply of at least 100 ma. I have designed a number of these for use with our system. I describe one power supply at Power Supply Digital WW. There is also a link there to a heftier supply. Note that the "WW" refers to the power transformer, which is a wall wart.

So you have your board powered up and plugged in to a USB port. How do you locate the port number? Assuming you have a Windows 7 system (I'm sorry to say I'm ignorant of Macs) go to the main Control Panel page and click on "Hardware and Sound" then "Devices and Printers". Under "Unspecified" you will see "FT2232R USB UART". Right click on the icon and you will get another (small) page. Click on "Hardware" on that page. Under "Device Functions" you will see listed your USB port. Mine says "USB Serial Port (Com5)". So "Com 5" is my port number. Your board should work with any Com Port number, but I think I read somewhere that port numbers from 1 to 5 work better in some systems. Keep plugging in your USB board until you find a good number if you are having trouble. Once you know your port number you will be ready to set up your terminal according to the instructions provided by the terminal program.

Initially when you plug the USB board into your PC it will go looking for a device driver. This can take a while. Your USB board will not show up on the device driver page until your system has a driver for the FTDI Chip. The last time my computer went looking for a device driver for the FTDI232R it took something like ten minutes for the driver to be found and installed. Get a cup of coffee. Come back. And then assist (if needed) with completion of the process.

And there you have it. You are ready to go with what ever else you plan to get up to.

Engineering is the art of making what you want from what you can get at a profit.

Tuesday, July 30, 2013

TTL To RS-232 DB9 M&F


There is also a write up of this project at ECN Magazine.

The title is not quite correct. Actual supply levels using the TI SN74LVC2T45DCTR range from 1.65 volts to 5.5 volts. Nominal supply voltages are 1.8V to 5V. Signal input levels will vary with the supply voltages. If you use the NXP 74AVC2T45DP chip the inputs will operate from .8 volts to 3.6 volts. However due to differences in packages you cannot use the NXP 74AVC2T45DP on the board as designed. The pins on that chip are .5 mm spacing. The TI chip has .65 mm spacing. Baud rates to 230,400 are possible but I have only tested the board which uses the TI SN74LVC2T45DCTR at speeds up to 115,200.

You can buy the bare boards Male DB9 or Female DB9 for $8.60. The boards come from OSH Park whose motto is "We're fab." And they are. Gold plated.

You can get the full documentation (schematics, parts list, and chip placement) here.

The board outputs full RS-232 levels (+/- 10 volts nominal about +/- 8 volts actual) for TxD, RxD, DSR, DTR, CTS, and RTS. These signals are available in a jumper field allowing you to jumper the board (with jumper shorts) for DTE or DCE use. RI is also available, but you have to wire jumper it according to usage. Since RI is so seldom used these days that should not be a serious impediment.

One point about the documentation. The schematics for the DB-9 Male board and the DB-9 Female board are identical. So is the parts placement. The only difference is how the DB connectors are wired on the PCB.


Building the Board

Install the 22uF, 6.3V capacitors C1, C2, and C8. Install all the .1uF capacitors C7, C9, C10, C11, C12, C13, C15, C17, C19. Install the 4.7uF 16V capacitors C3 and C4. Install the 2.2uF 16V capacitors C5 and C6. Install ICs U1 thru U5. Install the rest of the surface mount parts. Install ground pin GND0. Install the .1" ctrs headers and jumper fields. Install the DB-9 connector.

Update: 18 March 2014

I have modified the boards so that they can be powered from the device they are plugged in to. For that you use JU2. JU1 has been removed. In addition capacitors C3, C4, C5, and C6 have been reduced in capacitance so that the board powers up faster. You can find the documentation for the board at TTL to RS232 DB9 M&F 25 Sept 2013 Documentation. OSH Park has the TTL to RS232 DB9F 25 Sept 2013 available for $8.60 ea. The TTL to RS232 DB9M 25 Sept 2013 is also available for $8.60 ea.


Engineering is the art of making what you want from what you can get at a profit.

Tuesday, June 4, 2013

Hot Air Iron


You can read more about how I developed this design at ECN - DIY hot-air iron.

==

The comments to an article I posted to ECN Magazine a while back got me interested in making my own hot air soldering iron. A look around the web connected me with a do it yourself project to make just such an iron.

First off you will need a suitable iron. I checked the Variable Temperature Soldering Station I bought from Amazon for about $20 and found after checking it out that it was enough like the iron in the project to proceed so I did.

First you need to gather the project materials. For the iron conversion you will need about six inches of silicon rubber model airplane fuel tubing. It should be rated for 3/32" fittings. I liked this racing orange tubing. But blue/clear tubing would probably also work. This type of tubing is size rated according to the outside diameter of the metal tubing it will mate with. We will be needing such tubing in brass. One foot each of 3/32" (to mate with the fuel line) and 1/8" (to mate with the air line). You can pick it up at your nearest hubby shop. I got mine at Royal Hobby. I also bought a K&S Tubing Cutter in order to avoid ragged hacksaw edges on the cut tubing.

The first step is to open up the iron by removing the three screws that hold the heating element to the handle.


Find a suitable spot on the iron hand and drill a 3/32" hole pilot between the wires. I drilled my first hole straight into the iron (90 degs to the barrel) and then using that one as a starter hole drilled a 9/64" hole from the same point at 45 degrees to the barrel. It may be a good idea to reinstall the heater with at least one screw to keep the wires from absorbing excessive vibration during drilling. I hand drilled the final 15/64" fuel tubing hole using a pin vise/hand chuck to hold the drill. The point is to go slow so you are not drilling into the power wires at the end of the hole.


Cut off about 1" of a copper clad scouring pad (no soap please), twist it up and stuff as much as you can into the heater barrel being careful not to disturb the power wires.


You can now snake your fuel tubing through the handle and insert the (squared off) tip into the bottom of the heating element between the wires. Create an air seal where the tubing enters the heater with Permatex High Temp Red RTV. It is rated for one hour at 650°F. The area of the iron it is being used on probably gets no hotter than 300°F so the seal should last a while. The RTV will skin over in about an hour and be fully cured in 24. Let it sit.

Now put it all together. To do that you will need to cut one 1" (2.5cm) long piece of 3/32" brass tubing and another equal length of 1/8" brass tubing. Overlap them about 1/8" (3 mm) and solder, epoxy, or super glue them together. Be sure to ream the tubes out with a suitable drill if the tubing cutter necked them down. You may also have to sand down the end of the 3/32" tubing to make it fit. That little fitting will connect your iron tubing to the air line tubing.


The nozzle for the hot air iron is a Stimpson GS5-12 backed up by a 4-40 nut drilled out to 5/32".

Now we come to the question of pumps. I had an Whisper 10 (old square model) laying around and by itself it was barely adequate to give sufficient flow to melt solder paste. In tandem with an AQT3001 I also had around it was better. But the best was the Petco AC-9903 which has a flow/pressure adjustment on top. The AC-9903 is rated at 4.5 liters a minute and .014MPa. You can read more about my adventure with air pumps at DIY hot-air iron.

I used a ProsKit 9303C meter for the temperature measurements I did. I was looking for better/worse more than accuracy. And for that it was adequate.

Tuesday, May 7, 2013

Power Supply Digital WW

I needed a "digital" power supply (+5V and +3.3V) for a number of my small projects. I also wanted a low noise supply that didn't require building a power line interface. I did build one of those for projects requiring more power. You can read about that project at Power Up. The Power Up supply can deliver 800 mA per supply. The supply described here is only good for 150 mA per voltage and it runs a little hot at that current. So think of the 150 mA as a design limit with a more practical limit (longer life) of 100 mA or less. That is still plenty of current for today's low power designs. In addition the supply uses a Wall Wart (the WW in the name) for its AC power connection. No power entry construction required.

One more important point before you get started: the TI TPS7A4901 (data sheet) chip used for both regulators is a low noise regulator. This can come in very handy when powering precision crystal oscillators where you want to keep the noise down to maintain short term accuracy. It is not the lowest possible noise. But it is quite good for a one chip solution.

The design files (schematic, board layout, and parts list) for the board can be found at Power Supply Digital WW - design files. If you want to build one OSH Park has the boards for $11.00 each.

So lets start the build. First put the 22uF 6.3 V capacitors (C9 and C10) on the board. Then solder the U1 and U2 pins to the top side of the board. Next turn the board over and squirt some Chip Quick SMD291NL flux into the U1 and U2 grounding/heat sink holes on the back side of the board and apply your iron and solder to those holes (I use 63/37 tin/lead) until they are filled. That grounds the chips and also acts as a heat sink for them.

Now solder the rest of the surface mount components to the board. At this point I like to test the board because trying to work on the regulator chips with all the other components mounted is very difficult (read impossible) without removing parts. To do that testing you have to short out RV1 and RV2 and apply power to the chips. About 6 volts is OK for both chips because no significant power will be drawn - this is only a voltage test. The voltages should read about 2.9 volts for U1 and 4.9 volts for U2. If you don't get those voltages check U1 and U2 (the most likely culprits) for shorted or open pins. Since I plan to make a lot of these boards I built a pogo pin rig for this test using a bare board. The holes for the pins that go into RV1 and RV2 positions need to be drilled out (.040" - #60 drill) if you are using the Mill Max 0856-0-15-20-82-14-11-0 pogo pins to make your temporary connections. It will look like this with the board mounted on the test jig:
This is the test jig with the pogo pins:
I used brass washers between the nylon nuts to adjust the height of the jig.

Next mount all the 470uF 10 volt capacitors (C3 through C8). Now add in the transistors with thermal pads mounted loosely to the heat sinks. I used 6-32 by 3/8" screws and split lock washers to insure contact of the transistor with the heat sink is solid. Mount and solder Q1 first and then tighten the screw. Then Q2 followed by Q3.

Mount all the rest of the components and test the board under power. I used a 22 ohm 1% 3 watt resistor mounted on a power plug for the 3.3V section and a 33 ohm 1% 3 watt resistor mounted on the same power plug for the 5 V section. Anytime you want to test a supply under load just plug in the load. And that is all there is to it.

I wrote some more about low noise power at ECN Magazine.

Engineering is the art of making what you want from what you can get at a profit.

Sunday, May 5, 2013

Space-Time Crystals

This is a little far afield from what I usually blog about. But I couldn't resist.

Physics team proposes a way to create an actual space-time crystal
Earlier this year, theoretical physicists Frank Wilczek, of MIT put forth an idea that intrigued the research community. He suggested that it should be possible to construct a so called space-time crystal by adding a fourth dimension, movement in time, to the structure of a crystal, causing it to become an infinitely running clock of sorts. At the time, Wilczek acknowledged that his ideas on how to do so were inelegant, to say the least. Now another international team led by Tongcang Li has proposed a way to achieve what Wilczek proposed using a far more elegant process. They have posted a paper on the preprint server arXiv describing what they believe is a real-world process for creating an actual space-time crystal that could conceivably be carried out in just the next few years.

Wilczek thought that it should be possible to construct a space-time crystal because crystals naturally align themselves at low temperatures and because superconductors also operate at very low temperatures; it seemed reasonable to assume that the atoms in such a crystal could conceivably move or rotate and then return to their natural state naturally, continually, as crystals are wont to do as they seek a lowest energy state. He envisioned a rotation with a ring of ions that flowed separately rather than as a stream, likening it to a mouse running around inside of a snake laying as a circle. The bulge would flow, rather than the snake itself spinning and would just keep on going, potentially forever. The problem was, he couldn’t figure out how such a crystal structure could be created in the real world.

arxiv paper

H/T DeltaV

Engineering is the art of making what you want from what you can get at a profit.

Thursday, March 28, 2013

Testing Telephone Cables With RJ11 Connectors


I'm working on a distributed I2C bus system that uses standard telephone cable and RJ11 jacks for interconnection. Plug and play - if you get the software right. That requires cables that are correctly wired. No shorts of course. But also no twists. Five volts should not appear on the ground connection. And vice versa. To do the testing I have designed a board with three resistors and six LEDs. I use a six volt battery pack of 4 AA cells with a built in switch to power the tester. The batteries should be good for about 120 hours of continuous use. If the cost of batteries irks you the tester can be powered by a 5V wall wart supply. Or a convenient bench supply. The voltage is not critical. Anything from about 4 volts to 6 volts will do. Absolute maximum current possible is about 35 mA at 6 volts. Normal current with a working cable plugged in and a 6 volt supply is about 25 mA.

In use the supply polarity doesn't matter. If you use the supply conventions shown the green power good light comes on with power and if the cable is good you get two green lights in addition. If the cable is reversed you get a green power good light and two red lights. If you reverse the power supply red will be the power good light and two additional red lights will indicate a good cable. Various other faults will give you different light combinations which you can work out from the schematic. You will also find the parts placement and parts list with the schematic.

The only thing that needs special attention during assembly is LED orientation. I used a 5V supply and some clip leads along with two 150 ohm resistors (one for each clip lead) to probe the LEDs before mounting them.

The boards (I2C Simplest Cable Tester 31 Oct 2012) are available from OSH Park for $2.45 each plus shipping.

Wednesday, October 17, 2012

Power Up

This is a continuation of my Power Up article posted at ECN.

You can buy boards for this project at Dual Positive Power Supply boards. They cost $12.45 each. The documentation for the board - schematics, part placement, and parts list can be found at Dual Positive Power Supply documentation (a zip file).

First off when it comes to assembling the board - mount all the surface mount resistors first. It will simplify your construction efforts considerably. Next mount the heat sinks and regulators.

Install the regulator by mounting it temporarily to the heat sink (which you have already soldered to the PCB) with a 6-32 screw and then solder the regulator in place. This insures that the holes match up. Then remove the screw and bend the regulator away from the heat sink so you can apply the thermal grease to the regulator. Now permanently mount the regulator with the lock washers and 6-32 nut. be sure to do this before you install the 10,000 uF 16 volt filter capacitors. You can mount the regulators after the capacitors are installed but it is a bit more difficult.

The heat sink holes are just a little small for the 6-32 X 3/8" screws I used to mount the regulators. Do not use longer screws or they will punch holes (or at least rub against) the filter capacitors. You do not need to drill out the holes as the aluminum of the heat sinks self taps easily even with non self tapping screws. I used a split lock washer under the screw head to make sure everything stays tight and a toothed lock washer on the back side between the heat sink and the nut. It is good to do as much as you can to keep your power regulator in firm contact with the heat sink. Don't forget the split lock washer or the screws will extend into the capacitors.

The regulators chosen do not need the protection diodes on the board. I installed them anyway so you can see what they look like. They are a must if you choose to use an LM317 regulator instead of a LM1117 part.

The parts list contains every thing you need to put the power supply in a case. But the parts in the list are only suggestions. You can modify the project as your needs dictate. That is the beauty of just buying a board and populating it as your requirements dictate.

If you have any questions leave them in the comments.

Engineering is the art of making what you want from what you can get at a profit.

Friday, October 5, 2012

A Parallel Port Break Out For the STM Discovery Board

I have been doing some work with the STM Discovery Board. It features an STM 32F407 ARM processor than can clock at 168 MIPS peak. A real screamer. And at less than $15 per STM is practically giving them away.

But the pin out of the board is a little odd for doing parallel port projects. So I decided to rectify that by designing a little interface board that puts the pins in a more regular order. The STM Discovery plugs into the interface so if you want to use the Discovery later with a different interface all you have to do is to unplug it. The connector is a Samtec SSW-125-01-T-D. Digikey has it in their catalog but they don't currently stock it (bug them). You can get it directly from Samtec.

Here is the schematic and here is the parts list. Both in pdf format.

OSH Park is selling the boards for $4.90 each.

Engineering is the art of making what you want from what you can get at a profit.

Friday, August 3, 2012

ATtiny10 Test Program

Friday, July 27, 2012

Wednesday, May 2, 2012

Load Electronic Small 555


You can read about the purpose of this board and how it works at ECN Magazine - Low power, low-cost testing.

To order the files for this design ($6.00 US) Click the button below.

Files include
1. Schematic - png double normal size
2. Schematic - design file Tiny CAD format
3. Bill of Materials - Open Office format
4. Gerbers - board size 1" by 3"

A Free Gerber Viewer
The Free Board Design Software I Use - FreePCB

This is a license to use the files to make up to 12 boards. If you want to make more contact me. Please note that you agree to make 12 or fewer in your message when you order. You may not resell the boards. If you want to do that contact me.

And the usual disclaimer: we do not warrant these files as fit for any purpose what so ever.

You might like the board service mentioned here for small quantity production. There is no NRE.

Not available in Illinois (we don't collect sales tax)




Wednesday, December 28, 2011

SEPIC Converrter

Here are a couple of videos on the SEPIC Converter. A design derived from the Cuk Converter. Below the videos are links to some design resources.





National SEPIC design notes. Of course National is now TI. This is probably the simplest design note on the subject I have seen. It is a good place to start for a tennis court estimate of design requirements.

Switching Power Magazine - Analyzing The SEPIC

Maxim AN1051

Linear Technology Spice Circuit Simulation may prove helpful.

Monday, February 15, 2010

Resource Sites

Here is the first one: Joel Owens.

Z-80 Programming Manual Zacks

Z80 Resources

Software Development Tools

Z-80 MCB

Z-80 Emulators

A page of Z80 Emulators.

I particularly like Z80-CPU-Emulator (V 5.2b) Full version, Z80 and/or CP/M 2.2 Emulator, By : Joan Riff

I have used the earlier version (3.10) it and it works well. The last time I used it on a PC I got a simulated speed of 25 MHz (IIRC). I tried it with my 2 GHz PC and I got an off the scale reading.

Here is a book I have used. I wonder if I still have my old copy?

Z-80 and 8080 assembly language programming (Hayden computer programming series)

I like the author of this book. I haven't read the book.

Math Toolkit for Real-Time Programming

EPROM Programmer Parts List

U1 - 74LS374
U2 - 74LS245
U3 - 74LS374
U4 - Device Selector
U5 - 4049
U6 - 7407
U7 - LM723

R1 -
R2 - 47K
R3 - 10K
R4 - 10K
R5 - 5K Trimpot
R6 - 4.7K
R7 - 10.0 K 1%
R8 - 2.80 K 1%
R9 - 100
R10 - 10K
R11 - 10K
R12 - 10K
R13 - 10K
R14 - 4.7K
R15 - 10K
R16 - 10K
R17 - 10K
R18 - 10K
R19 - 4.7K
R20 - 5K Trimpot
R21 - 2.0 K
R22 - 2.0 K

D1 - 1N4002
D2 - 1N4002
D3 - 1N4148

C1 - 100 uF 50V
C2 - 100 uF 50V
C3 - 4.7 uF 50V
C4 - 470 pF
C5 - 220 uF 10V
All other Cs .01 uF

Q1 - 2N2222 - plastic
Q2 - 2N3906 - plastic
Q3 - 2N3906 - plastic

Z1 - 1N4746A 18 V 1W Zener
Z2 - 1N4746A 18 V 1W Zener

Sunday, February 14, 2010

Parts List MCB

This is preliminary. Corrections welcome.

U1 - Z80
U2 - Z8440 SIO
U3 - 74LS244
U4 - 74LS244
U5 - 74LS245
U6 - 74LS367
U7 - 7404
U8 - 74LS14
U9 - 7474
U10 - 74LS32
U11 - 1488 - RS-232
U12 - 1489 - RS232
U13 - R pac 15 4.7K
U14 - 8255 Parallel
U15 - 8255 Parallel
U16 - 8255 Parallel
U17 - 9511 Arithmetic
U18 - 8253 Counter
U19 - 9513 Counter
U20 - 8279 Keyboard
U21 - EPROM
U22 - EPROM/RAM
U23 - EPROM/RAM
U24 - 2114 RAM
U25 - 2114 RAM
U26 - 2114 RAM
U27 - 2114 RAM
U28 - 74LS04
U29 - 74LS30
U30 - 74LS20
U31 - 74LS42
U32 - 74LS00
U33 - 74LS42

R1 - 4.7K
R2 - 47
R3 - 22K
R4 - 330
R5 - 1K
R6 - 1K
R7 - 1K
R8 - 4.7K
R9 - 4.7K
R10 - 1K

D1 - 1N4148

C2 - 220uF
C3 - .01 uF
C4 - .01 uF
C5 - .001 uF
C6 - .001 uF
C7 - .001 uF
C8 - .001 uF
C9 - 470 pF
C10 - 470 pF
C11 - 470 pF
C12 - 470 pF
C27 - 47 pF
C28 - .022 uF
C33 - 47 pF
C34 - 220uF

SW - Reset Switch

All Other Capacitors .01 uF Bypass

Thursday, January 29, 2009

Z80 Books

Here is a list of Z-80 books in no particular order

Assembly Language
Programming in Z80 Assembly Language

Z80 Assembly-Language: Programming for Radio Shack, Timex Sinclair, Adam, and Cp/M Computers ([A Computer literacy skills book])

Introducng Z-80 Assembly Language Programming

Z80 Assembly Language Programming Manual

8080/Z80 Assembly Language: Techniques for Improved Programming

Z-80 Assembly Language Programming

I like this one:
Z-80 and 8080 assembly language programming

The Z80 Microprocessor: Architecture, Interfacing, Programming and Design

Programming the Z80

Dr. Dobb's Z80 Toolbook

Math Toolkit for Real-Time Programming

8080/Z80 Assembly Language: Techniques for Improved Programming


Hardware and Interfacing

101 Projects for the Z80

The 8080, 8085, and Z80: Hardware, Software, Programming, Interfacing, and Troubleshooting

8080/Z80 Assembly Language: Techniques for Improved Programming

Z-80 Microprocessor: Architecture, Interfacing, Programming, and Design (3rd Edition)

Z80 Applications

Z80 Users Manual

Microprocessors and Microcomputer Based System Design: Second Edition

Build Your Own Z80 Computer

Microcomputers and microprocessors/ the 8080, 8085, and Z-80 Programming, Interfacing and Troubleshooting

Stuff For Sale

I have some Z-80 Master Controller Boards for sale. I'm working to set things up. When they are set up properly I'll be announcing prices etc.