DuinoMite where only the green and red LEDs shine

Started by mobluse, February 20, 2018, 05:50:13 AM

Previous topic - Next topic

mobluse

I got a new DuinoMite board today from electrokit.com in Sweden where only the green and red LEDs shine. It doesn't output anything on VGA or composite via DuinoMite-IO. Does this have anything to do with the wrong programming of a batch of boards? It doesn't matter if I have microSD or not for the LEDs. I can't put it in programming mode using BUT+RST. I have an old Duinomite Mini that still works perfectly with the same USB-cable and that can be put in programming mode. I also tried to power the DuinoMite from a 9V adapter (with right polarity), but that doesn't improve anything. I do not have PicKit 3 or compatible. Is there anyway to rescue or test this DuinoMite or do I have to return it?
iCE40HX8K-EVB w/ iCE40-IO, DuinoMite-Mini, DuinoMite w/ DuinoMite-IO, Olimexino-32U4

LubOlimex

Is the board recognized by your computer when you plug via USB? Can you access it via serial terminal? What does the terminal say?

Notice that these drivers are required: https://www.olimex.com/Products/Duino/Duinomite/_resources/COM_Drivers_Duinomite_V2.zip

They might require disabling "driver signature enforcement" before installation.

Technical support and documentation manager at Olimex

mobluse

Quote from: LubOlimex on February 20, 2018, 09:24:35 AM
Is the board recognized by your computer when you plug via USB? Can you access it via serial terminal? What does the terminal say?

Notice that these drivers are required: https://www.olimex.com/Products/Duino/Duinomite/_resources/COM_Drivers_Duinomite_V2.zip

They might require disabling "driver signature enforcement" before installation.

I have Microsoft Windows [Version 10.0.17101.1000] and it installs a serial driver automatically when I connect the device. I cannot install the one from COM_Drivers_Duinomite_V2.zip by right clicking on mchpcdc.inf and chose install because then it say something about this INF-file comes from a third party and no information about signatures you can't override here. (I have Swedish Windows 10, so messages are in Swedish.)

What baud should it be and other serial port parameters? The built-in serial driver works with DuinoMite Mini and MMBASIC 4.5. Then baud is 115200.

The built-in driver:
USB Serial Port (COM3)
Microchip Technology, Inc
2012-12-06
5.1.2600.7

If I take update driver and chose from a list I can't install Olimex DuinoMite USB CDC or Olimex DuinoMite USB Composite Device, even if I override and answer Yes. It gives the same complaint as when I tried to install it by right clicking (no information about digital signatures).

How can I override the complaints about signatures?

When I press BTN then RST, then release RST, and then BTN, still nothing happens with the new DuinoMite, but it works well with programming on DuinoMite-Mini. Maybe MM-BASIC 4.5 has support for the built-in drivers in Windows 10, but DM-BASIC needs Olimex drivers which I can't install.
iCE40HX8K-EVB w/ iCE40-IO, DuinoMite-Mini, DuinoMite w/ DuinoMite-IO, Olimexino-32U4

LubOlimex

#3
The default driver, that automatically installs, is not good enough. But the driver from the archive is unsigned, so you need to disable temporarily "driver signature enforcement" before installation.

There are many guides available online how to do it (if you search for it), but check this one: http://packard-bell-scandic.custhelp.com/app/answers/detail/a_id/38288/~/windows-10%3A-disable-signed-driver-enforcement

Then try the installation again (pointing manually to the inf driver).

Edit: Do not press buttons in any sequence when attaching the board to the USB. Just attach it. For this test, we don't want bootloader mode but standard USB-serial mode.

After the driver is fixed, open a termnial software on the COM port assigned, something like "puTTY" or "TeraTerm" - you should be able to access the BASIC interface (e.g. see what you normally see over the VGA display). It should say the firmware version loaded in the beginning also.
Technical support and documentation manager at Olimex

mobluse

#4
I have disabled that drivers must be signed (using 7) and tested both Olimex DuinoMite USB CDC and Olimex DuinoMite USB Composite Device (they could install, but one replaces the other) for COM3, but the result is the same as before. I open TeraTerm 4.97 on COM3 with 115200 baud, but nothing is shown even if I press RST, and no keys are echoed.

I used Update on COM3, then manually, then chose from a list and have disk.

Driver:
Olimex DuinoMite USB CDC (COM3)
Olimex
2010-03-11
5.1.2600.2

or

Driver:
Olimex DuinoMite USB Composite Device (COM3)
Olimex
2010-03-11
5.1.2600.2
iCE40HX8K-EVB w/ iCE40-IO, DuinoMite-Mini, DuinoMite w/ DuinoMite-IO, Olimexino-32U4

LubOlimex

You should ignore the buttons for now, including the reset. Do the following first: close the terminal software, disconnect the board from the USB.

Then connect the board to the USB. Wait a few seconds. Then start the TeraTerm and open the COM3. Then press enter few times to see if something comes up.

If there is still nothing, then it would seem that the board has no BASIC programmed (or some other fault occurs that stops the board from proper functioning). It would be the best idea to return it.
Technical support and documentation manager at Olimex

mobluse

Unfortunately nothing comes up when I press Enter a few times, after having disconnected, connected DuinoMite and restarted TeraTerm.

This is the same for both Olimex drivers in my Windows 10 x64.
iCE40HX8K-EVB w/ iCE40-IO, DuinoMite-Mini, DuinoMite w/ DuinoMite-IO, Olimexino-32U4

mobluse

#7
I tested in Linux on Raspberry Pi.

When I connect my new DuinoMite in Raspbian Stretch (most updated) for Raspberry Pi 3 dmesg shows:
[1315567.126162] usb 1-1.4: new full-speed USB device number 13 using dwc_otg
[1315567.262004] usb 1-1.4: New USB device found, idVendor=04d8, idProduct=000a
[1315567.262020] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[1315567.262029] usb 1-1.4: Product: CDC RS-232 Emulation Demo
[1315567.262037] usb 1-1.4: Manufacturer: Microchip Technology Inc.
[1315567.263338] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device

When I connect my old DuinoMite-Mini in Raspbian Stretch (most updated) for Raspberry Pi 3 dmesg shows:
[1315458.335678] usb 1-1.4: new full-speed USB device number 12 using dwc_otg
[1315458.492194] usb 1-1.4: New USB device found, idVendor=04d8, idProduct=fd52
[1315458.492210] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[1315458.492218] usb 1-1.4: Product: Maximite
[1315458.492226] usb 1-1.4: Manufacturer: Silicon Chip
[1315458.493992] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device

I can put my old DuinoMite-Mini in programming mode in Lubuntu 16.04 for Raspberry Pi 2, but this doesn't work for the new DuinoMite.

With the new DuinoMite in Raspbian Stretch:
$ sudo picocom -b 115200 /dev/ttyACM0
picocom v1.7

port is        : /dev/ttyACM0
flowcontrol    : none
baudrate is    : 115200
parity is      : none
databits are   : 8
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv
imap is        :
omap is        :
emap is        : crcrlf,delbs,

Terminal ready

FATAL: term closed

I pressed CR several times and then RST.

Old DuinoMite-Mini:
$ sudo picocom -b 115200 /dev/ttyACM0
picocom v1.7

port is        : /dev/ttyACM0
flowcontrol    : none
baudrate is    : 115200
parity is      : none
databits are   : 8
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv
imap is        :
omap is        :
emap is        : crcrlf,delbs,

Terminal ready
r: No variables to read
> DuinoMite MMBasic Version 4.5
CopyriDuinoMite MMBasic Version 4.5
Copyright 2011-2014 Geoff Graham

>
>
>
>
FATAL: term closed
iCE40HX8K-EVB w/ iCE40-IO, DuinoMite-Mini, DuinoMite w/ DuinoMite-IO, Olimexino-32U4

KeesZagers

As far as I know Olimex delivers standard version 2.7 of MMBasic (or DMBasic). Probably your supplier replaced that by MMBasic 4.5. Normally this should be done by using the bootloader. If the BUT-RESET-RESET release-BUT release does not work, it seems that the bootloader is missing. This can be the same probem as I reported before. Anyway I think the module should be returned to your supplier if you don't have a PICKIT3.

My experience with version 4.x of MMBasic is that it supports more functionality, however the timing performance is worse than the version 2.7.

The standard Windows 10 driver works perfectly for me with Teraterm, in fact even better than the original driver.

Kees

LubOlimex

#9
As Kees says. We load own version of Basic, which is variation of the official MMBasic. Our flavor is called DMBasic. While we have one board that leaves the factory with MMBasic v2.7A (PIC32-T795), the rest should have DMBasic. I haven't seen, nor tested so new MMBasic version v4.5... I have no idea how it ended up to your board, and I'm almost sure that it wasn't uploaded here. Can you upload pictures of the board's top and bottom somewhere and share the links so we can check it.

The lack of bootloader is also problematic, since you can't easily change the BASIC version.

If you can't borrow PIC32 compatible programmer, you should return the board.
Technical support and documentation manager at Olimex

mobluse

#10
I don't see any signs anyone has tried to install MMBASIC 4.5 to my new DuinoMite. I think you confuse it with my old DuinoMite-Mini that had MM-BASIC 4.5 when I compared (I compared the two boards above -- you have dmesg and serial communication for both boards above). I think the new DuinoMite is unprogrammed, because if it where a BASIC on it VGA/composite and USB-serial should work. How does an unprogrammed board behave?

Here are pictures of the top and bottom of the new DuinoMite.


Top of my new DuinoMite.


Bottom of my new DuinoMite.

I could try to take better photos if these won't do. I could also take a photo of the box it came in.
iCE40HX8K-EVB w/ iCE40-IO, DuinoMite-Mini, DuinoMite w/ DuinoMite-IO, Olimexino-32U4

mobluse

I received the reprogrammed DuinoMite today with DM-BASIC with bootloader, and it works as it should.
iCE40HX8K-EVB w/ iCE40-IO, DuinoMite-Mini, DuinoMite w/ DuinoMite-IO, Olimexino-32U4

LubOlimex

Technical support and documentation manager at Olimex