Sensors board: Hardware mod for easier programming

As I understand the schematics (2015-11-29), the Sensors board has the following communications paths:

  1. USB connector <-> FTDI <-> 96Board.UART0, which allows host PC to operate a console terminal on the 96Board (allowing running the 96Board headless and sans wireless).

  2. ISP connector P6 that allows desktop/laptop with ISP programmer to program firmware on the ATMEGA from scratch. (Ie: this might be used to program a bootloader, but it is not the usual way to load sketches from Arduino IDE.)

  3. 96Board.UART1 <-> level shifters <-> ATMEGA.RX and TX. So this implements the usual way to communicate with the ATMEGA/Arduino for Arduino IDE purposes.

This implies that to program the ATMEGA, the Arduino environment has to run on the 96Board, which in turn implies that the 96Board is running an OS that can do that, and that it has the necessary hardware (such as a screen) attached to it. That’s certainly a possibility sometimes.

However, I suggest breaking out the UART0 connection between U4 and ATMEGA, and also the UART.RTS (reset) line, to a header which can be either jumpered to the current configuration, or alternatively connected via an FTDI cable to a laptop/desktop to permit conveniently programming the ATMEGA from Arduino IDE on this separate machine. This would make it unnecessary to provision the 96Board for Arduino IDE.

Does this make sense?

Graham

Hi @gwideman

It is a great idea that the Sensors board would be able to program the ATMEGA from PC through USB-serial connector.

Then the Sensors board would be just like connecting Arduino Uno to the PC and it would be easier to program on the Arduino environment from PC which has keyboard and display.

At the moment, as you see the PCB layout of the Sensors board, the components are extremely packed on the small PCB space and it is really difficult to find extra room for it.

I will send your feed back if there a good way to incorporate your idea in the future.

Hi @ldts-atsuka,

Apparently it’s such a good idea that a variant of it is on the production version of the Sensors board, according to a reply to the bug/suggestion that I filed: https://bugs.96boards.org/show_bug.cgi?id=231

Grant Likely says: “The production version of the Sensors board, which will be available later this month, can be configured with some jumper wires to use the on-board FT230X USB-UART to program the ATMEGA. However, it isn’t trivial, because it still requires 5V and 1.8V power rails to be supplied to the board.”

Hopefully the 5V/1.8V isn’t a problem if the Sensors board is sitting on the DragonBoard.

It is not clear from this thread if programming the Sensor board directly from a PC via the on board USB is possible or not. Can you clarify if this is possible? If so, please share instructions on how. Currently, it seems to behave has a shell into Android on the Dragonboard.

Any updates?