An oscilloscope is very useful for observing the waveforms in the mini-lan, I2C ports, and serial ports. Prices range from under $100 for a basic USB scope, to thousands for a high-speed, multi-channel monster.
Finally, a good quality soldering iron, and basic hand tools are essential if you have to make repairs to your board.
Basic Soldering Skills
I had someone that was having no luck getting his TeensyNet™ operational, with all kinds of weird problems that I had never seen in my adventures developing the TeensyNet™. I finally had him send me the boards, so that I could investigate. Ninety-five percent (95%) of the problems involved faulty soldering.
Cold solder joints, insufficient wetting of the joint, not heating the pad and the component lead; all of these things introduce problems that can be difficult, if not impossible to detect without de-soldering the component. One of the problems with this board occurred when some solder apparently splashed between two leads of a header causing a short underneath the header.
Adafruit has an excellent guide on the tools and techniques needed for getting the most out of your DIY soldering projects.
The power supply is very important to the proper operation of the TeensyNet™. The TeensyNet™ requires a well-regulated 5volt DC supply capable of producing at least 2000ma of clean, continuous power.
Poorly regulated “wall-worts” and underloaded PC power supplies can cause voltage spikes that can damage the Teensy3.1 MCU board. If you are using multiple LCD boards, a large number of 1-Wire® devives or and GLCD board, the current requirement increases significantly. I recommend using a minimum of 5vdc at 5000ma. Power supplies of this type can be obtained through reputable mail-order supply houses in the U.S. as well as from manufacturers in the Far East via ebay.
If you are monitoring 1-Wire® devices over an extremely log or heavily loaded mini-lan, I recommend that you take voltage readings at the far end of the mini-lan. If the voltage is less than about 4.75 volts atthe far end, you might consider using a voltage converter to get the voltage back up to 5v. There are numerous version of this device available from many different outlets.
The TeensyNet has an on-board 3.3v regulator that supplies the 3.3vdc needed by the on-board level converters and the WIZ820io Ethernet miniboard. If the TeensyNet™ has problems connecting to your intranet, make sure that the voltages to this device are up to specification.
The TeensyNet™ uses discrete components to create a series on-board level converters that allow the TeensyNet™ to communicate with various devices use a supply voltage other than 3.3v. One example is the 1-Wire® mini-lan, which uses 5vdc. It’s very important that these level converter circuits are working properly, otherwise all kinds of problems result. Fortunately, there’s a relatively simple solution.
On my github site, there is a very simple program that will toggle all the digital pins of the Teensy3.1 once a second. You can copy and paste this program directly into your Teensyduino IDE, compile, load and run it on your TeensyNet™. You can then use a multimeter to make sure that all of the device channels toggle. If one line is not toggling, first check for missing or poor solder joints, then consider replacing one or both of the BS170 MOSFETs that comprise the circuit.
The 1-Wire® mini-lan monitors and controls all of the 1-Wire® devices used by the TeensyNet™. In its quiescent state, the mini-lan should remain at 5vdc. If this is not the case, start removing 1-Wire® devices from the mini-lan until the mini-lan returns to 5vdc, then check the offending device. My experience with devices from MAXIM has been very good, but some off-brand or “grey-market” devices have been problematic.
On my github site, there is a very simple program that will interrogate the mini-lan, and display up to 16 devices. Add devices to the mini-lan one at a time and run the program to ensure that the new device is being found.
The I2C channels are used to save and recall TeensyNet™ parameters from the on-board 24LC512 I2CEEPROM, control 20×4 LCDs, and other devices.
Open the Serial Monitor on the IDE, and you should be presented with a list of all I2C devices on each channel. If not, remove the devices one-by-one and retest.
Serial Debug Channels
The TeensyNet™ uses a WIZ820io ethernet sub-board to access your intranet. By default, TeensyNet™ uses DHCP to request an IP address from your router. If the operation is successful, that IP address is stored in I2CEEPROM, and is used for all subsequent attempts to access your intranet.
If you would prefer to have the TeensyNet™ use a static address, you can open TeensyEthernet.h in your “sketchbook/libraries/Teensynet” directory and change the following two parameters:
// #define STATIC_IP // uncomment to use a static IP Address
#define STATIC_IP // uncomment to use a static IP Address
IPAddress ip(192, 168, 1, 51);
to reflect the IP address you wish to use.
If the TeensyNet™ successfully connects, the result is displayed in the IDE Serial Monitor, all attached I2C LCD boards, and all attached 1-Wire® LCD slaves. If the TeensyNet™ fails to connect, a failure message is displayed on the IDE Serial Monitor, and the I2C LCD attached on I2C Channel 1, address 0x27, if present, and then does a soft reset in order to re-connect.
Once the intranet connection is established, the TeensyNet™ attempts to establish a Bonjour service connection, which is used by the TeensyNet™ web-based software to discover and register the new TeensyNet™. Success or failure is displayed on the IDE Serial Monitor.
If the WIZ820io fails to connect, check the power to the sub-board and the cable connection to your router/switch. Also verify that the address on which the TeensyNet™ is attempting to connect is not in use by another device on your intranet.