Introduction: Basiliscus "α". Mandalorian's Basilisk W/ Raspberry Pi Hardware and Raspbian OS

About: Hi, yes, -I'm Bantman.

This project is about a device that you can use as a computer, different from a laptop, on the go. Its primary purpose is to let you write your code if you are programming or learning. Also, if you are a writer or you like to write stories, even if you sell pictures or photos, you can take some and write their captions —a Youtuber to answer its comments, too maybe, or filming!
The idea born because I've once recognized that I could be finishing my code while being boring waiting for someone in front of its house or visiting, taking the subway, or bus. In many situations that is boring, or that wasting time feeling is on. That feeling of keep coding or writing because coding a bot takes a lot of time, and we know not just making a bot, it can be a website or app! If you are writing a book or novel/story happens too (here's where I've also realized that this could be for anyone, it only depends on the user). Or articles, like this Instructable e. g. Anyways, I thought that the Raspberry Pi has some capacity to make it happen, you can turn it out into an Android device as well! But first, focusing on the basics: with Rasbian, I can accomplish that goal, even taking advantage of some sensors and modules. I've themed this project related to Basiliscus' mythology and nature, because of freedom and especially my "native" coding language: python. And its transform (differences between a real cobra and any other reptile) -and of course Mandalorian creed because of freelancer jobs, the community and all these techs and gateways [which help to do many things] and at least but still significant: the inspiring hummingbirds (in the case of Mandalorian's Basilisk, also). One of my goals is to keep myself coding unworried of getting out of battery (assuming that we can use our smartphones), anywhere and whenever I want to —even resting at home on the couch or bed writing instead of doing nothing or playing videogames. Also, it's excellent because there are some website pages that you can't do nor use some features in the mobile version; thanks to small computers, you won't have that problem. With Android OS images for RPi, you will able to download those apps that aren't available for computers, like Instagram, for example, or if you are creating/programming an app! {^ EDIT: March, 5th. 2020}

-----------------------------------------

I may assemble the Egyptian royal cobra, that one whom Greeks knew as Basilisk, but only the Supreme gives us the Freedom. God is the only one who provides us the grace of domination on this creature to make it honorable and loyal, for humankind, and progress even in those "dead times".

Its development ← @ Projectboard, Mandalorian's droid! Coding and writing as Freelancer; in a discussionboard. You're invited to take a look and participate :)

Don't worry, it won't bite you [unless you add it fangs -so, follow this Instructable carefully and ask any question you desire], also, remember to don't look at its eyes directly nor dare to underestimate the one mentioned in the first paragraph, who can see everything.

· The principal or initially purposes ←

This project's initial aim was to satisfy the need or desire of having a device destined to code on it. Similar to the videogames' consoles but exclusive to writing, focusing on just writing or dedicated to these extense codes in a moment when we can't do any better than wait or even waste our time while we have a lot to write at home or work. Any coding, writing a book, blog, photo's caption in our Albums (in the case of photographers), and so. Especially for coding because some times we need a compiler and iterate the code that we are writing, more if we are learning a new library or programming language.

Anyways, after a long time, I found out how I could bring alive such console inspired once a bit with my first -conscious- childhood years technology approaching. Realizing that it would be not only for coding, which its root act is to write but for research and develop other projects as well, taking entire advantage from the small computer. Also, you could be listening to a webinar, use old printers, and modeling your 3D — wireless! Anywhere out from your home or visiting, etc. Including at the backyard, on your bed/sofa, if you want to rest and write or research something at the same time.

· Related to this Instructable and its making. ←

It is an Instructable illustrated on 3D using Tinkercad because of many reasons of not having the part or components yet maybe because they're still in shipping or just not bought yet. The first development has done, and I wanted to share it step by step explaining the assemble once already, and thanks to this, I practiced and broke down my fear of 3D modeling, I've enjoyed it so much! Otherwise, I also wanted to recreate it into 3D to see its possible looking and then being able to make its case. You can copy or modify my design on Tinkercad for your own case's creation.

NOTE: This device should suits every user/customer as they know how to take advantage from it, so it is not limited, your imagination and well willing is your limit, as described above at "The principal or initially purposes" which means that you can use it for all you need. The main purpose is to gain time in a possible opportunity to being "wasting time" - instead of that, create something worthy.

Also, I write all this down, hoping that I could explain myself very well in my writing because of my mother tongue, which isn't English. My apologies beforehand if I make a grammar mistake, any question or tips are welcome (don't hesitate to ask, please)! Thank you for your time and patience. Let's create.

Supplies

Every arrow (→) refers to an item as the parts of the Basiliscus α.

  1. Raspberry Pi 4B model (preferably 4GB RAM).
    With its kit: power -switch- cable supply (for 110v~220v or USB),
    heatsinks (recommended) or an Embedded Armor Aluminum Radiator Heatsink,
    → and a MicroSD (4GB to 16GB storage it's ok).
  2. LCD [Touch] Screen 3.5" (max. 5", I think).
    + a stylus pencil (optional).
  3. → X856 mSATA SSD Shield Storage Extension Board (for RPi 4B only).
  4. → mSATA SSD Storage (>125GB). NOT SAMSUNG, it's very important.
  5. → SIM7600G* 4G HAT. Including its cable (35cm, or 120cm)
    + GPS Antenna.
    & GSM Antenna.
  6. → Real-Time Clock (RTC) Module w/ no header fitted, and temp. sensor & pass-thru. "DS3231SN"
    2x GPIO Duplication Expansion Board (90º).
    Universal GPIO Extension Board. (it has three GPIO on it)
  7. → Expansion Board with Fan:
    YAHBOOM RGB Cooling Hat Adjustable Fan w/ OLED display.
    Or, MakerFocus Cooling Fan with Led.
  8. micro-HDMI to HDMI cable [recommended (150cm)].
  9. Camera 8MP V2 wide Angle 160º FoV (supporting Video Record).
    + Adapter Camera Cable for Raspberry Pi 4B, where we'll plug the Camera 8MP.
  10. → Power Supply Expansion Board.
  11. 2x Battery Supply (>2500mAh). I recommend a pair of 8000mAh. Or 10Ah, but these are too big.
  12. → [N503 or any] Mini Wireless KEYBOARD, which that suits you. Try to use a tiny one! - I need to have one with the SHIFT key on both its sides: left and right.
  13. ↓ Add-ons:
    ~ Sensor Hub Development Board.
    ~ VGA666 Adapter Board.

-- Optional (for Step 2), a Soldering Station: mainly need a Heat Solder [WARNING: It's really hot, and you may have some expertise because you will manipulate the Raspberry Pi and its GPIO as well. Take extreme care].

* G means Global, E and CE are for US&CAD and Asia&Europe respectively.

Step 1: Let's Get Ready Preparing Everything.

  1. Make sure that your Micro SD Card is > 4GB. And you must have Internet access (to download the OS ".img")
  2. Download the Raspberian OS image (desktop).
  3. Get a software where you can burn or flash the image into the Micro SD Card.
  4. Have already a utility to Unzip the image.

As you may know, after downloading the image and unzip it, you must flash it into the Micro SD Card.

Also, it's good to have already an HDMI adapter (that would be rather a cable), as shown below! Micro HDMI.

At first, ensure you were buying the compatible modules snd items. Otherwise, you will see next that the images for this Instructable are all made in 3D on Tinkercad, because of two reasons:

1.- I didn't get the whole parts yet, some will be arriving soon at my home, and I didn't buy the other ones either.

2.- For this last reason, I was modeling each part in a "generic" very alike model, to illustrate for myself when they arrive and assemble all together and to share with you how to make or assemble Basiliscus Alpha by yourself as it is a creative commons licensed (BY-NC-SA 4.0) project and a gift from me to all interested person.

Connect the Micro-HDMI to HDMI cable to the Raspberry Pi and a TV that admits HDMI. And turn on your Raspberry Pi. And configure your Raspbian for the first time! Note: dismiss the Wifi connection step, I won't connect, do it after it reboots.

Go to the Terminal of Raspbian. and run the next command lines:

sudo rasp-config

Then, enable the option 5: Interfacing Options (Configure Connections to Peripherals). And activate (enable) the P5: "I2C". Click [yes], ENTER to everything: and then it will reboot.

Now, install utilities:

sudo apt-get update
sudo apt-get install -y python-smbus i2c-tools

Finally, shut-down your system (or reboot it with sudo reboot ):

sudo halt

If you want to, check if I2C is enabled which is optional and will list all the modules:

lsmod | grep i2c_

All these sub-Steps were extracted from Enable I2C Interface on the Raspberry Pi BY MATT.

Step 2: Open Your Goods

I've already pasted my heatsinks to my Raspberry Pi's cores here!

Also, as I've mentioned before, I'll be adding real pictures to the end of the corresponding step, and here as their unboxing process, as soon as each part is arriving!

Step 3: Attach Your Duplicate GPIO 90 Degree.

It can be at the top of the Raspberry Pi, but I would love to solder it below. I must go to a Tech Soldering Station where they have a Heat Solder or acquire one! It could be optional but I really want to do that. I'll update this with some pictures and warnings related to it. Anyways you still can add the GPIO to the top of your RPi4 as you can see in the third image.

Step 4: Bring Together the MSATA Storage Expansion Board's Strews.

Step 5: Insert and Attach the MSATA SDD Disk Card Into the MSATA Expansion Board.

Step 6: Bridge Fom the Raspberry Pi to MSATA Expansion Board

Step 7: Fan Cooler Module Board.

I know that I suggest a pair of Fan Cooler Modules, you could use any of them, only these two are the better to this project; if you desire the one with the OLED or not, it's your choice. In my case, I choose OLED. Anyways, none of them need any code as far as I know. Also, you can use the official Raspberry's PoE fan cooler instead.

Dismiss that gray thing, it's one of pair batteries that we will use later!

Step 8: Extra Individual GPIO.

We are going to add an extra GPIO or any other module of desire. Its principal function is to ensure some free space for the Fan Cooler!

Step 9: RTC (Real-time Clock)

Also, remember to insert its respective battery!

Edit config.txt (you can use sudo nano /boot/config.txt on your terminal) and add the next line:

dtparam=i2c_arm=on # maybe it is already on, just verify it.
dtoverlay=i2c-rtc,ds3231

Save. Reboot. Then,

sudo hwclock --systohc<br>

And remove fake hwclock: (this only line is optional because its purpose is to know, as users, when it is not working. Otherwise, you can keep it [skip this sub-step] to have a backup. As dfries says in its note)

sudo apt-get purge fake-hwclock<br>

Create a new udev rule to set the clock (new file):

sudo nano /etc/udev/rules.d/85-hwclock.rules

Copy & paste this next:

# On the Raspberry Pi the RTC isn't available when systemd tries,<br># set the time from RTC now when it is available.
KERNEL=="rtc0", RUN+="/sbin/hwclock --rtc=$root/$name --hctosys"

Finally, save.

All this was extracted from the RTC ds3231 setup... RaspberryPi.org/forums/viewtopic.php?f=63&t=209700 posted by dfries.

Step 10: SIM7600G-H 4G on Vertical and Plug In.

Open /boot/config.txt file, find the below statement and uncomment it to enable the UART.

sudo nano /boot/config.txt<em><br></em>

You can directly append it at the end of the file as well.

<em>enable_uart=1</em>

Then, reboot.

You also can do this running in the terminal: sudo rasp-config→ Options → Serial →

1.- Download the raspberry pi demo code and copy the SIM7600X folder to /home/pi/ directory.
the X refers to our SIM7600 model, in this case, it is SIM7600G.

2.- Enter /home/pi/ directory, execute the next command to "Init the Raspberry Pi":

cd /home/pi/

chmod 777 sim7600-4g-hat-init<br>

3.- Open the /etc/rc.local file, then add the context below:

sh /home/pi/SIM7600G/sim7600_4g_hat-init<br>

(It is shown in the images above or in the PDF file attached, page 21)

Extracted from SIM7600E-HAT-Manual-EN.pdf by WAVESHARE.

Step 11: A Second Duplicate 90º GPIO (ilustration of the GPIO That Have Aready Attached in Step 3)

As you may see in the pictures attached, there is the extra GPIO that we already attached in Step eight (8).

Step 12: "UPS HAT 2" Li-ion Batter Power Sourcer Supply Expansion Board & Pair of Batteries (between 2.6 to 5.6 or 8 Amh)

UPS2

I would like to use two batteries.

Extracted from http://www.raspberrypiwiki.com/index.php/UPS2#Document:

Please refer to github: https://github.com/geekworm-com/UPS2

## Enable I2C in raspi-config<br>sudo raspi-config  
->Interfacing Options  
->I2C  
->Enable  
-> <Yes>
  
## View battery Info  
wget <a href="https://github.com/geekworm-com/UPS2/raw/master/viewinfo.py" rel="nofollow">https://github.com/geekworm-com/UPS2/raw/master/viewinfo.py</a>  
#edit viewinfo.py and modify battery capacity  
nano viewinfo.py  
#.Change 2600 to your battery capacity (mAh)  
MY_BATTERY_CAP = 2600

Step 13: Allocate Our Second Battery. and It's a Good Moment to Insert/connect Your Camera SPI Into the Raspberry Pi.

I decided to rest it in that little space. Make sure that its cables reach the UPS2 HAT input -for battery- connector.

Step 14: Touch-screen LCD 3.5" Display

Driver installation:

Open the Terminal and run:

sudo rm -rf LCD-show
git clone https://github.com/goodtft/LCD-show.git chmod -R 755 LCD-show

To start using the LCD touchscreen as the current display, run this next on Terminal:

cd LCD-show/
sudo ./LCD35-show

It will reboot and load itself on the next startup.

To undo this, or just come back to HDMI:

cd LCD-show/
sudo ./HDMI-show

And then, Touch-screen calibration.

Can be calibrated using a program called xinput_calibrator:
cd LCD-show/
sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb

Click Menu on the taskbar -> Preferences -> Calibrate Touchscreen. Follow the instructions there!

To rotate the screen (90 degrees), run:

cd LCD-show/
sudo ./rotate.sh 90

-- All this was extracted from 3.5inch RPi Display @ LCDwiki.com

Step 15: SensorHub Board

As I've tagged to the first image attached, we need to blend 90º that light sensor, to be easy for use later. You will see in the next step (16).

For its installing, additional to my screenshots, @EsoreDre had made an Instructable about it; just go and take a look, also leave some good vibes there. Otherwise, if you don't want to, you always see this next article where is explained as well with a py file code made for its author (Brian0925) as a plus.

Docker Pi Series of Sensor Hub Board About IOT By EsoreDre in Circuits > Raspberry Pi.

The first look on the EP0106 by Brian0925 on DESIGNSPARK.

Step 16: Universal GPIO (three) Expansion Board

NOTE: it would be good to reinforce these three with some (six, 4 and 2 for the VGA. Next step) strews.

Step 17: VGA666 Module Adapter Board

Edit your config.txt again. And add to it:

#VGA 666 config
dtoverlay=vga666
enable=dpi_lcd=1
# Uncomment if we want to set it as default display
#display_default_lcd=1
dpi_group=2
# Make sure what is the Celsius that your monitor works.
# Anyways, the most common is 60 so let's write:
dpi_mode=0x09

Before saving or exiting, for every time you want to use this, modify the values of your console size to your monitors (when not, just undo all this next). Lines 21 & 22:

framebuffer_width=800
framebuffer_height=600
#this forces a console size.

And add a '#' to all HDMI values, you must have something like this [will force VGA]:

#hdmi_group=1
#hdmi_mode=4
#hdmi_drive=2

Save; done.

Extracted from cosicasF9's Youtube video: https://www.youtube.com/watch?v=RGbD2mU_S9Y, which you can watch with subtitles!

Step 18: Mini -wireless- Keyboard.

I've merged two protoboards to represent it as the Mini keyboard for my Instructable, and my -Tinkercad made- preview prototype. All next is to create it a case where then the Mini Keyboard should lie with velcro! Yes, with a hook-loop fastener letting you dis-attach it if you want to connect Basiliscus to a TV or monitor. It would be in its [MiniK] back, and in the front of the case or the bottom side of the SensorHub Board, which I don't recommend, but it is possible.

Related to the strews between the SensorHub, Universal GPIO Expansion, and VGA666 Adapter, I might use the strews into them and the [a future] case.

Step 19: Add-ons and UPDATES.

What else would you like to add? Maybe a Sensor Fingerprint!

-------------------------------------------------------

I'll be adding this the Log of each Uptade that I'll be making, knowing that some parts will be arriving one by one monthly so far, I hope so; Meanwhile, there is a developing project with a discussion open, you can participate. {I've already shared it at the beginning} Otherwise, I hope this Instructable would be useful to anyone interested in the project if anyone wants to make it for their own, and for me as a good self-made Instructable.

Thank you for reading, and don't forget to VOTE, please! I've submitted it to the RPi 2020 contest. Wish me luck. Also, I want to clarify that -in case this one win one of the prices- it will go directly to purchase all the rest of the parts, or for printing and keep modeling the Basiliscus' case :)

Thank you so much once more, and once more: don't hesitate to comment, ask or give a tip. All those are welcome. {March 1st, EDIT:} Tinkercad 3D model's link. Already public!

Raspberry Pi Contest 2020

Participated in the
Raspberry Pi Contest 2020