Why the offset square pads?
Why not place them at right angles, or make them round?
The one on the left above the I2C eeprom looks like a recipe for disaster (from a home-brewed PCB perspective).
Why the offset square pads?
Why not place them at right angles, or make them round?
The one on the left above the I2C eeprom looks like a recipe for disaster (from a home-brewed PCB perspective).
Hi,
I had decided not to stick my nose into this but I'm going to anyway....
What are the reasons for not using the USART pins but instead using some ordinary I/O pins for serial in and out? The USARTs RX and TX pins are on 00 and 01 on the AMICUS18 which is what this forum section is about. Taking a quick look at the XINO Basic it TOO lists pins 00 and 01 as the USART RX and TX pins when used with the PICAXE chips listed there.
The PICAXE28X2 is just an 18F25K22 with some firmware so it TOO has the USART pins on RC6 and RC7 which then connects to pins 0 and 1. The AMICUS18 uses the 25K20 which also have the USART on RC6 and RC7.
Are these devices (nanoSocketLAN) not meant to be connected directly to a microcontroler with an USART thus expecting "true" data? Is the reason for not using the USART that they expect inverted data (I can't imagine that) and therfor you are using plain I/O and bit-banged serial where the polarity can be inverted instead of the microcontrolers onbaord USART?
I know you're providing pads so it can be re-wired but there must be a very specific reason for not wiring RX and TX to microcontrolers USART where they belong.
/Henrik.
The ConnectOne uses TRUE mode.
I like to leave the USART open for interruptible input to the MCU.
Dave
Always wear safety glasses while programming.
It's mostly because the various bootloaders are coded to use the hardware USART. And, I tend to think of these as development systems for READ (Rapid Embedded Application Development) where there will be a lot of changes, trials, errors, etc. rather than as finished products that stand on their own although they can certainly be used that way, as well.
DISCLAIMER: This thread and the Tibbo thread were not intended to disparage your WizNET approach. I'm just of the opinion that most folk are as lazy as me and use various Basic dialects so they don't have to learn ASM, C, etc. In that vein, both the ConnectOne and Tibbo modules do most of the heavy lifting that you're doing with SPI in your thread, making life easier for those of us inclined to take the easy way out. The Tibbo module requires coding but it's all in another Basic dialect and gets loaded as firmware into the Tibbo module rather than using much code space in the MCU be it PIC, PICAXE, Arduino AVR, or ZBasic AVR. And, it was fairly easy to design the shields so all the various modules (except for the 4 Mb flash) are plug-ins - no soldering required (I suspect the Tibbo & ConnectOne shields will have the SMT components preinstalled.)![]()
Ahh, methinks you presume too much.![]()
On the rare occasions when I use a PIC bigger than the 8-pinners, I use ones where the comparator inputs and outputs are exposed. I use them as inverters for TX & RX. (@Bruce: On the 16F88, this uses up 6 pins so I'm just barely violating my 8-pin limit.) Most of the PICs, PICAXEs discussed in relation to these shields qualify and the Xino designers have agreed to look into making this optional in the DS30 bootloader. You only need current limiting resistors in TX & RX and it looks easy to add these to most of the Arduino clone main boards I've seen.
Last edited by dhouston; - 4th June 2011 at 23:02.
Henrik,
Looks like I need to rephrase my previous response.![]()
I had assumed PICAXE was using the hardware USART to download their program. While reading their user manual, I learned they are instead using SerIn/SerOut (i.e. software UART) for downloading and recommend leaving it free to avoid false triggers or interference with downloads. I will modify the ConnectOne and Tibbo shields, accordingly.
An EEPROM sample can be found here.
http://www.picbasic.co.uk/forum/show...461#post104461
Dave
Always wear safety glasses while programming.
I have made some changes in order to use this with my Zarduino system boards. In addition to rerouting the I2C bus and RESET lines, I have also modified it to work with 3V3 or 5V but only when using the default serial connection. You can use SPI, USB or RMII with 3V3 but will need to do your own level shifting for 5V (which is not very practical).
The diamond shaped pads are those that the user will likely need to solder in wire jumpers to make connections for pull-ups, set the address, etc.
The slightly askew square pads can be used to reroute the IO lines if needed. Cut the trace between pad and the sockets at the board edges and run a wire as needed.
The octagon pads are those which are unused for the hardware setup.
Round pads are in use by the hardware or hidden beneath the sockets.
I'm not sure how. If you mean for those who make their own boards, I think these will be available with all of the etching, etc. done and even with most of the SMT components preinstalled. The one I think you are referring to is for installing a jumper in case a pull-up is needed on the serial line - I just forgot the pull-up.![]()
Last edited by dhouston; - 4th June 2011 at 20:39.
Last edited by ScaleRobotics; - 5th June 2011 at 06:58.
Hi Dave,
OK, but the bootloader does not hold up the UART once the main program starts to execute, you're free to use it as you wish then. But I guess you have your reasons, I just had to ask.
Am I right in that you have the SPI pins on the ConnectOne module connected to the MSSP module on the AMICUS18 so that it can use that interface instead of the bit-banged serial? Never having used the device in question I don't know exactly how much information needs to passed betwteen the module and the microcontroler but bit-banged serial isn't directly fast. I'm guessing it's not that much since any web-content doesn't have to pass "thru" the PIC.
As for the disclaimer. I didn't take it as such and I have absolutely no problem with this, on the contrary, it's why we're here - to share ideas and learn from each other. But it should stays on topic for this forum, which I must admit I sometimes think it doesn't. If these shields can be used with other devices programmed in whatever language that's great but I think we should try keeping it on topic which is MELABS PBP, not ZBasic, BasicX, PICAXE, PROTON, MikroBASIC, C or anything else.
Keep it up!
/Henrik.
All that I've connected in these designs are the serial IO pins along with any modem control lines that they expose. I've never explored the other pins on the ConnectOne modules so I did not want to complicate things (nor add to the support burden for a project where I'm donating the design). Some of their modules also have a USB interface but I have no clue as to how to apply it. Readers are free to discuss these and even suggest how to add connections to handle them but I have no such plans.
mackrackit had earlier published example code for one of the ConnectOne boards and I posted a link to it in the new Ethernet section. As you can see, all you need to send it are AT command strings like we did with modems back in prehistoric times. Crude, but effective and easy, even for novices. The code burden adds up and mackrackit suggested the EEPROM might help address that but I really haven't explored idea that either.
As for whether the ConnectOne and Tibbo shield threads are 100% on topic I'm not sure there's any other section that would be more appropriate. While my design goals were to make these shields as universal as possible, they will work with the Amicus18 system as well as with most of the other Arduino and Arduino-inspired systems. And while I have mentioned some others, I've refrained from promoting them - I've merely noted that some design decisions were made to maintain PICAXE compatibility - usually in response to questions.
Last edited by dhouston; - 4th June 2011 at 23:29.
Well, I had never heard of Amicus18 nor any of the other Arduino clones before a few days ago so it may be partly due to ignorance. And wanting to make my designs as universal (and low cost) as possible, I thought the safest route was to use the software UARTs for access to these ethernet<->serial adapters. I usually use DEBUG/DEBUG_IN myself so it was somewhat out of habit that I chose this route. In most cases, the software UARTs should be fast enough for the types of things we might want to do via these adapters. There's also the possibility that another shield in the stack might need the USART. But feel free to cut the traces* and reroute as you wish.
*jump the traces seems somehow appropriate here - but you probably need to be my age and remember teams of horses pulling things (beyond Budweiser wagons) to understand why.
I could have done a little better job of addressing this. Perhaps, not for Henrik who, I think, understands, but for others who might be lurking (maybe even Darrel's brothers Darrell and Larry). To take the nano Socket iWiFi as an example, its SPI, USB & RMII pins are available to the user but only in the octagonal pads adjacent to the socket into which the module is plugged. The user can add wires and route them to the card edges where the pins of the system bus (for lack of a better term) are available. Since I was trying for a universal design in keeping with the phrugality philosophy of the Xino cards, it did not make sense to connect features that might not exist in the 18 pin PICAXE. And, the information that needs to pass between the MCU and ethernet module is much less than is needed with the SPI and registers approach of other shields and ethernet<=>serial adapters. Bruce has posted that DEBUG works up to 115200 for him and that's much faster than we might need here. The Tibbo module requires even less traffic between it and the MCU as it does even more with less input.I've tried to keep with the spirit of that but it is easy to stray given the history of my involvement with the topic. I only started with shields in the past week or so but I had designed a much larger project just over three years ago that was to have used the Tibbo EM202. When it was suddenly withdrawn, I was stuck with about 100 nearly fully assembled PCBs. I learned much of what I know about the other ethernet<=>serial adapters because I was desperately searching for a way to salvage a few thousand dollars in inventory and labor. None was suitable with all requiring Goldbergian methods to fit them into my enclosure and connect them to existing pads. I finally gave up. I had major health issues that also intervened. When Tibbo finally released the EM500 (which they had promised me would be a matter of weeks) two years later, my interest was revived but I wanted to wait until they released the firmware to allow it to support the GA1000. And I am still leery of ordering newly designed boards before I can thoroughly test the combination. The whole concept behind the shields caught my attention because it allowed a way to test "subsystems" without the cost of building the full system. My Tibbo shield will allow me to do this with the side effect of giving all of the Amicus18, Arduino, et al another useful shield designed to be easily assembled.
The PCB below is most definitely "off topic" but it should give everyone an idea of why I want to be able to use the shields as platforms for rapid development and testing. It is my redesigned PCB for my 3 year old project. It is also why I find the idea of doing it or similar projects on a more modular basis with multiple shields attractive. Developing a new shield that used a different ethernet<=>serial module would have been much easier than trying to shoehorn one into the existing, more complex design. Right now, I'm undecided between using the board below and designing 4-5 shield to duplicate its functions.
![]()
Last edited by dhouston; - 5th June 2011 at 05:13.
The shield development is on hiatus. I have medical appointments & procedures scheduled for most of this week. I'll pick it up once those are behind me.
There is an issue to be solved before I get prototypes made - all official Arduinos are 5V only so these 3V3 devices cannot be used with them. I do not want to add voltage regulators to the shields so need to find a practical solution for a 3V3 clone. There are 3V3 compatibles but the overall picture is very murky.
Seems that Arduino is behind the times and needs to catch up then.all official Arduinos are 5V only
Dave
Always wear safety glasses while programming.
Hi Dave,
Arduino is not AMICUS18 and XINO is not Arduino - simple as that. I looked at the datasheet for the ATMega 328 which I believe is what is used on the Arduino. It operates on anything from 1.8 to 5.5V so THAT won't be a problem. If the Arduino contains a voltage regulator and the option to actually RUN it at 3.3V instead of 5V is another question.
I think it, in the end, boils down to this: Either you make these shields of yours compatible with "everything" that happends to have the same same board shape as the Arduino, meaning you include voltage regultors and level translators or you don't.
If you don't want voltage regulators and level translators on the shield(s) then the decision is made: Your shield will work with boards operating at 3.3V, which is good because that's what the AMICUS18 does. It won't directly work with boards running on 5V.
One possibillity is to include foot prints for voltage regulator and level translators and more pads allowing them to "wired in" but then it'll soon start to look like a breadboard and not a "plug and play shield".
/Henrik.
As I responded earlier, all pins are accessible and the user can route them as desired. However, I need to add the caveat that they should only be connected to a 3V3 device. While I have added the LDO and have added circuitry needed for level conversion on the TX, RX & RESET, I will not be adding level conversion to the other lines, not even SCL & SDA used for the I2C bus so these features will need a 3V3 system. There's just not enough real estate on these boards for the additional circuitry.
Never mind - I had not thought the 5V-to-3V3 conversion through. While 5V-to-3V3 conversion is straightforward, things get complicated when trying to use the same circuitry in a 3V3 system - it requires far too many jumpers. Adding to that are the other pins on some of the ConnectOne modules, SPI, RMII, etc. which complicate things even further.
So I'll just go back to a silkscreen warning that the ConnectOne shield is 3V3 only. It will work with the Amicus18 and other compatibles with 3V3 system voltage.
OTOH, the Tibbo ethernet shield is easy to use with either voltage, requiring only a single jumper to select the system voltage so I will add an LDO regulator to that PCB.
An interesting side note is that the Arduino Uno reference design shows optional 5V and 3V3 regulators so there are probably a lot of Arduino compatibles that are 3V3.
Bookmarks