I had today off from work, so I spent most of it working on my projects. I wanted to get LScreamer working in Windows, since I liked being able to wirelessly upload code to it. I spent a few hours troubleshooting it with a good MAX3232 circuit to convert TTL to RS232, as well as 2 instances of HTerm. Without XBees, the LScreamer program works as expected (using a serial cable). With XBee’s packets are lost, and it’s not due to a buffer getting full, since even when I had it pause a second between sending each page, it would still loose things. I believe it is something to do with the driver for the FTDI FT232RL module, but I’m not sure. Bottom line is that in windows, wireless firmware transfer is out of the question for now.
But it does raise questions, such as for how many projects recently have I had to use wireless downloads? None. But when I start developing the slash again, it will be nice.
Looking around online, you can buy $20 FTDI cables to connect to your RBBB, BBB, or JeeNode. You can even spend $12 for an adapter. I’m cheap though, so I wanted to see if I could make something that would work like it. Enter the USB -> Serial cable + MAX3232. Using that, I can convert RS232 level signals to TTL levels, but what should we do about automatically resets? Well I came up with a solution to that, I think.
I observed that when the RTS or DTS line wasn’t asserted, it was -6.5v, and when it was asserted it was 6.5V. The ATMEGA328 needs 0V on the reset pin to trigger a reset, otherwise it should be up at the supply voltage. Using a 1N4001 diode should let us skip the negative voltage, and a properly configured 2N3904 will handle generating 0V when 6.5V is applied. I’ll talk more about it soon, if it works, that is. Progress!